Tôi có một vấn đề kỳ lạ với cách msbuild hoạt động với Dự án Triển khai Web VS2008 và muốn biết tại sao nó có vẻ sai trái một cách ngẫu nhiên.Làm cách nào để xóa nhiều tệp với dự án triển khai msbuild/web?
Tôi cần xóa một số tệp khỏi thư mục triển khai chỉ nên tồn tại trong môi trường phát triển của mình. Các tập tin đã được tạo ra bởi các ứng dụng web trong dev/thử nghiệm và không được bao gồm trong dự án/giải pháp Visual Studio của tôi.
Cấu hình tôi đang sử dụng như sau:
<!-- 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>
Tôi có vấn đề là khi tôi làm một xây dựng/xây dựng lại của Dự án Web Deployment nó "đôi khi" loại bỏ tất cả các tập tin nhưng đôi khi nó sẽ không loại bỏ bất cứ điều gì! Hoặc nó sẽ loại bỏ chỉ một hoặc hai trong ba thư mục trong nhóm mục DeleteAfterBuild. Dường như không có sự nhất quán khi quá trình xây dựng quyết định xóa các tệp hay không.
Khi tôi đã chỉnh sửa cấu hình để chỉ bao gồm Thư mục 1 (ví dụ), nó sẽ xóa tất cả các tệp chính xác. Sau đó, thêm Thư mục 2 và 3, nó bắt đầu xóa tất cả các tệp như tôi muốn. Sau đó, dường như vào những thời điểm ngẫu nhiên, tôi sẽ xây dựng lại dự án và nó sẽ không xóa bất kỳ tập tin nào!
Tôi đã thử di chuyển các mục này vào nhóm mục ExcludeFromBuild (có thể là ở đâu) nhưng nó mang lại cho tôi kết quả không thể đoán trước.
Có ai đã trải nghiệm điều này không? Tôi có làm điều gì sai? Lý do tại sao điều này xảy ra?
+1 - Tôi đã có cùng một đầu chính xác. Đây là một câu trả lời hoàn hảo. Cảm ơn! – spot