ClickOnceアプリケーションをMSBuildで公開すると、次のエラーが発生します。公開前に正しいapp.configファイルをプロジェクトにコピーする公開前タスクがありますが、これがこのエラーの原因であると思われる唯一のことです。どうすればこれを修正できますか?
次の失敗メッセージが検出されました:ファイルMyApplication.exe.configには、マニフェストで指定されたものとは異なる計算されたハッシュがあります。
ハッシュが生成された後にファイルをコピーしています。
BUILD中およびPUBLISHの前にファイルをコピーする必要があります。ClickOnceメカニズムは、改ざんが行われていると見なします。
ブレットの答えは正解です。GenerateManifestsターゲットはCoreBuildターゲット(Microsoft.Common.targets内)の途中で実行されるため、ビルドファイルを更新するのに最適な場所はBeforeBuildです。
app.configを切り替える理由は、公開している環境にも適切な値を持つ構成に置き換えるためだと思いますか?その場合は、複数の環境への公開に関する私の投稿を読んでください...「BeforeBuildターゲットをオーバーライドするにはどうすればよいですか?」などの質問に答えるのに役立ちます。
クリックワンスマニフェストに署名し、プロジェクトプロパティの[署名]タブでアプリケーションのテスト証明書を(再)作成します...これで問題は解決しました。幸運を