2009-06-22 23 views

Trả lời

17

Bạn có thể tạo mục tiêu để kiểm tra để đảm bảo rằng tất cả tệp Nội dung nằm trên thực tế trên đĩa và nêu ra lỗi nếu trường hợp này không xảy ra. Dưới đây là một mục tiêu như vậy

<Target Name="ValidateContentFiles"> 
    <Error Condition="!Exists(%(Content.FullPath))" 
     Text="Missing Content file [%(Content.FullPath)]"/> 
</Target> 

Bạn có thể đảm bảo rằng mục tiêu này được thực hiện mọi lúc bằng cách thêm nó vào thuộc tính InitialTargets trên phần tử Project. Ví dụ

<Project InitialTargets="ValidateContentFiles" 
     ToolsVersion="3.5" DefaultTargets="Build" 
     xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

Sayed Ibrahim Hashimi

My Book: Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build

0

Bạn cũng có thể thêm các điều kiện lỗi trong BeforeBuild Target sẵn trong csproj như thế này:

<Target Name="BeforeBuild"> 
<Error Condition="!Exists(%(Content.FullPath))" 
Text="Missing Content file [%(Content.FullPath)]"/> 
</Target> 

BeforeBuild sẽ luôn thực thi khi xây dựng một dự án và do đó bạn không cần phải thêm mục tiêu vào thuộc tính InitialTargets của thuộc tính Project.

Các vấn đề liên quan