web-dev-qa-db-ja.com

ClickOnce-プロジェクトのビルドに失敗したため公開できません

(WPF、C#)アプリケーションを公開しようとすると、次のエラーが発生します。
プロジェクトのビルドに失敗したため、公開できません。
ファイル 'obj\x86\Debug\MyAPP.exe'が見つかりませんでした

どこから発行しても、これらのエラーが発生します。発行ウィザード、ビルドメニュー、またはプロジェクトを右クリック-発行。
最初は問題なく動作していましたが、次のことを行いました。
コンピューターの日付を2013年10月10日に変更しました。別の方法を試していました。
これを忘れて、ビルドをクリックします。次に、コンピューターに適切な日付を設定します。その後、これらのエラーが発生します。
また、[実行]をクリックするたびに、プロジェクトに変更があるかどうかにかかわらず、Visual Studioはプロジェクトをビルドします。
また、10/10/2013以降の日付を設定すると、問題なく動作することにも気付きました。
このビルドの日付が設定されているプロジェクトの設定を探していると思います。
私はビルド、リビルド、クリーンなソリューションを試しました。

25
Rajko

私は問題を解決しました。問題は、一部のファイルの「変更」時間でした。プログラムTimestampを使用して修正しました。

私の質問で述べたように、問題は私がソリューションを構築し、日付が未来であるということでした。そのため、押すたびに F5 Visual Studioはソリューション全体を再度構築しており、Publish ClickOnceが機能していませんでした。

2
Rajko

これは、アドインがインストールされている場合に発生する可能性があるVisual Studioの問題です。 [公開]タブの[公開]ボタンを使用する代わりに、Visual Studioの上部にあるメニューから[ビルド/公開]を使用します。

[公開]ボタンを使用すると、ビルド(またはそのようなもの)を実行する前にアドインが実行されます。代わりにメニューから[ビルド]を使用すると、msbuildに直接移動し、インストールしたアドインを無視します。

DevExpressをインストールしても問題が解決しない場合は、次の記事を確認してください。 http://www.devexpress.com/Support/Center/p/Q260132.aspx

99
RobinDotNet

日付を通常に戻し、VSを閉じ、*。slnファイルの横にある* .suoファイルを削除してから、ソリューションを再度開きます

3
Alex Norcliffe

あなたの開発マシンがどのようにこのように汚されてしまうのか正確にはわかりませんが、これは私たちのグループの何人かの開発者にも起こり始めました。

調査したところ、Visual Studio(この場合は2010)が使用する組み込みのビルド/公開スクリプトに、実行する順序に欠陥があるようです。最も重要なことは、OBJディレクトリでクリーンアップを実行し、発行ステップで取得できるようになる前に、ターゲットEXEファイルを削除します。

ソリューション
これは多少ハックな回避策ですが、問題は解決しました。

修正は、公開ステップの直前に/obj/フォルダから/bin/フォルダにファイルをコピーして戻すことです。残念ながら、IDEを介してBeforePublishイベントを指定する方法がわからないため、テキストエディターで.vbprojファイルを編集する必要があります。

最後の</project>タグの直前に次のセクションを追加します。

<Target Name="BeforePublish">
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(IntermediateOutputPath)" />
</Target> 
2
JohnFx

新しいClickOnceマニフェスト証明書を作成するだけで、再び機能します。

1
MU0r

他に何もうまくいかない場合は、これを試してください:

  1. 日付を適切な日付に設定します。
  2. VSを閉じた状態で、ソリューションのすべてのbinおよびobjフォルダーを削除します。
  3. 新しい空のソリューションを作成します。
  4. 既存のプロジェクトをソリューションに追加します。
  5. 必要な参照を元に戻します。
  6. 再構築して、見逃していないことを確認します。
  7. 公開。

新しいソリューションを作成したくない場合は、必要に応じて、前のステップ1、2、6、7を試すこともできます。

1
Tipx

私の場合、.csprojファイルに次のセクションを追加すると問題が発生します。

<Target Name="AfterBuild">
</Target>
0
willyMon

Gitブランチを交換していたときに、このエラーが発生しました。 Rebuild Allがこれを修正してくれました。

0
user489998

今日問題が発生しました。私の特定のケースでは、それはMicrosoft Windows UpdateMicrosoft Security Advisory 2661254 によって引き起こされました(証明書の最小キー長に関し​​て)。

私はそのアップデートをアンインストールして、パブリッシュがいつものように機能し始めました。これは一時的な回避策であり、おそらくキー/証明書を再生成する必要があります。

0

Visual Studioを閉じて開くことでうまくいきました。

0
Doruk

ASP.NETプロジェクトの公開で問題が発生したことがあります。それは、公開ウィザードが、ファイルの公開先のディレクトリにあるファイルを削除できなかったためです。

公開する前に、これらのファイルを手動で消去してみてください。また、出力ウィンドウも確認してください。公開が失敗した理由についてのヒントが時々表示されます。

0
ptfaulkner