我在使用VS2008 Web Deployment Project时遇到了一个奇怪的问题,想知道为什么它似乎会随机出现错误。
我需要从部署文件夹中删除一些只应存在于我的开发环境中的文件。这些文件是由Web应用程序在开发/测试期间生成的,不包括在我的Visual Studio项目/解决方案中。
我正在使用以下配置:
<!-- 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 项组中的三个文件夹中的一个或两个。构建过程决定是否删除文件似乎没有一致性。当我编辑配置以仅包括“文件夹1”(例如)时,它会正确地删除所有文件。然后添加文件夹2和3,它开始按照我的要求删除所有文件。然后,在随机时间,我将重建该项目,它就不再删除任何文件!
我已经尝试将这些项目移动到 ExcludeFromBuild 项组中(可能应该在那里),但结果同样不可预测。
有人经历过这种情况吗?我做错了什么?为什么会发生这种情况?