ビルド サーバー: Update 4 を適用した TFS 2012。
連鎖構成を使用して web.config 変換を適用しています。Debug と Release の 2 つのソリューション構成があります。
Web アプリケーション、DEV、UAT、PROD の 3 つの発行プロファイルがあります。
私のビルドサーバーでは、「リリース」構成を使用するように設定し、MSBuild 引数に以下を追加しました。
/p:DeployOnBuild=true;PublishProfile=UAT
ビルドはエラーなく完了しますが、出力がドロップ フォルダーにコピーされることはありません。ドロップ フォルダーには _PublishedWebsites フォルダーが含まれている必要がありますが、代わりに、ログ ファイルを含むログ フォルダーのみが含まれています。
以前に動作していたビルドのログ ファイルと動作していないビルドのログ ファイルを比較すると、ファイルをコピーしたすべてのログが完全に欠落していることがわかります。
私の発行プロファイルは、Web デプロイではなく、「ファイル システム」発行を使用するように設定されています。それが違いを生むかどうかはわかりません。ビルド サーバーのドロップ フォルダーと同じディレクトリを使用するように発行プロファイルを変更しようとしましたが、そのフォルダーとそのすべてのコンテンツが消去されるだけです。
msbuild 引数から "PublishProfile=UAT" を削除すると、期待どおりに機能し、ログと _PublishedWebsites フォルダーの両方がドロップ フォルダーにコピーされることを指摘したいと思います。
さらに、ログ ファイルでこれらのアクションを確認できるため、発行プロファイルから実行していることがわかります。すべてのファイルをドロップ フォルダーにコピーするという追加の手順を実行していないだけです。
アイデア?