2010-07-21 31 views
5

Giả sử tôi có ba mục tiêu A, B và C. C phụ thuộc vào B. B tùy thuộc vào A. Nếu tôi chạy msbuild /t:C mybuildfile.xml, nó sẽ thực hiện mục tiêu A, B và C gọi món. Làm cách nào để thiết lập để đảm bảo C và B sẽ không được thực hiện nếu có bất kỳ điều gì không thành công trong A?Dừng quá trình msbuild nếu mục tiêu không thành công

Trả lời

6
<Target Name="StopBuild"> 
    <Message Text="An error has occurred, build stopped." /> 
</Target> 

<Target Name="A"> 
    <OnError ExecuteTargets="StopBuild"/> 
</Target> 

<Target Name="B" DependsOnTargets="A"> 

</Target> 

Ok, tôi đã tự mình tìm ra điều này. Sử dụng mã ở trên, nếu đích A không thành công, nó sẽ đi đến StopBuild được chỉ định trong tác vụ OnError. Để biết thêm về cách msbuild xử lý lỗi, hãy truy cập http://en.csharp-online.net/MSBuild:_By_Example%E2%80%94Dealing_with_MSBuild_Errors

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