msbuildがVS2008Web配置プロジェクトでどのように動作するかについて奇妙な問題があり、ランダムに誤動作しているように見える理由を知りたいです。
開発環境にのみ存在するはずのいくつかのファイルをデプロイメントフォルダーから削除する必要があります。ファイルは開発/テスト中にWebアプリケーションによって生成されたものであり、VisualStudioプロジェクト/ソリューションには含まれていません。
私が使用している構成は次のとおりです。
<!-- Partial extract from Microsoft Visual Studio 2008 Web Deployment Project -->
<ItemGroup>
<DeleteAfterBuild Include="$(OutputPath)data\errors\*.xml" /> <!-- Folder 1: 36 files -->
<DeleteAfterBuild Include="$(OutputPath)data\logos\*.*" /> <!-- Folder 2: 2 files -->
<DeleteAfterBuild Include="$(OutputPath)banners\*.*" /> <!-- Folder 3: 1 file -->
</ItemGroup>
<Target Name="AfterBuild">
<Message Text="------ AfterBuild process starting ------" Importance="high" />
<Delete Files="@(DeleteAfterBuild)">
<Output TaskParameter="DeletedFiles" PropertyName="deleted" />
</Delete>
<Message Text="DELETED FILES: $(deleted)" Importance="high" />
<Message Text="------ AfterBuild process complete ------" Importance="high" />
</Target>
私が抱えている問題は、Web配置プロジェクトのビルド/再構築を行うと、「時々」すべてのファイルが削除されますが、それ以外の場合は何も削除されないことです。または、DeleteAfterBuildアイテムグループ内の3つのフォルダーのうち1つまたは2つだけを削除します。ビルドプロセスがファイルを削除するかどうかを決定するとき、一貫性がないようです。
たとえば、フォルダ1のみを含むように構成を編集すると、すべてのファイルが正しく削除されます。次に、フォルダ2と3を追加すると、必要に応じてすべてのファイルが削除され始めます。次に、ランダムに見えるように、プロジェクトを再構築しますが、ファイルは削除されません。
これらのアイテムをExcludeFromBuildアイテムグループ(おそらく本来あるべき場所)に移動しようとしましたが、同じ予測できない結果が得られます。
誰かがこれを経験しましたか?私は何か間違ったことをしていますか?なぜこれが起こるのですか?