Chúng tôi có một quy trình chạy trước các bản dựng hàng đêm của chúng tôi. Nếu quá trình không thành công, nó sẽ tạo ra một tệp văn bản. Tất cả những gì tôi cần làm là kiểm tra xem tập tin có tồn tại không, và nếu có, gây ra một MSBuild không thành công.Làm cách nào để gây ra lỗi trong MSBuild nếu tệp tồn tại?
Tôi hiện đã thử như sau:
<CreateProperty Condition="Exists('C:\Process\Fail.txt')"
Value="false">
<Output TaskParameter="Value" PropertyName="ProcessTestPassed"/>
</CreateProperty>
<Message Text="Process did not pass" Condition="Exists('C:\Process\Fail.txt')" ContinueOnError="false" />
<ReadLinesFromFile File="C:\Process\Fail.txt" Condition="'$(ProcessTestPassed)'=='false'" ContinueOnError="false" >
<Output TaskParameter="Lines" ItemName="FileContents" />
</ReadLinesFromFile>
<Message Text="FileContents: $(FileContents)" Condition="'$(ProcessTestPassed)'=='false'" ContinueOnError="false" />
Mà cho một đi qua xây dựng với sản lượng này:
Task "CreateProperty"
Done executing task "CreateProperty".
Task "Message"
QAWizardProTestPassed did not pass
Done executing task "Message".
Task "ReadLinesFromFile"
Done executing task "ReadLinesFromFile".
Task "Message"
FileContents:
Done executing task "Message".
Tôi biết ở trên có lẽ là quá mức cần thiết, nhưng tôi chỉ cần một cái gì đó làm việc! Tôi đang thiếu gì ở đây ?!
Cảm ơn, Derek
Tôi nghĩ rằng tôi đã tìm thấy một giải pháp có thể chấp nhận: –
dprice
Đó thực sự là một giải pháp tốt. –