MSBuild.exe v4.00 を使用しています。私のプロジェクト ファイルには、Parameters.MyEnvironment.xml という名前のファイルを Parameters.xml にコピーするビルド ターゲットがあります。"MyEnvironment" は、MSBuild.exe がいつどこで呼び出されるかによって異なります。
これが実行されると、Parameters.xml が MSDeployPublish ターゲットの他のプロセスによって使用されます。
最後に、ファイル Parameters.xml を削除します。これは、環境固有のファイルの 1 つのコピーにすぎないためです。
上記のように実行すると、MSDeployPublish ターゲットは Parameters.xml が存在しないかのように動作しますが、エラーは報告されません。
ただし、プロジェクトのビルドが完了した後も Parameters.xml が残るように削除タスクを削除すると、MSDeployPublish はそれを認識して正しく使用します。奇妙なことに、Parameters.MyEnvironment.xml への変更は、次のビルド プロセスにすぐに反映されます。
要約すると、後続のターゲットが使用するプロジェクト フォルダーに (以前は存在しなかった) ファイルをコピーしても機能しません。ただし、元のファイルをそのままにして、新しいバージョンのソースで上書きすると、新しいコンテンツが反映されて機能します。
この作成者は、MSBuild でのロック/ファイルを開く問題を特定しましたが、ここでも同じことが起こっていますか? http://dotnet.dzone.com/articles/using-custom-webconfig-0