18
我們有一個流程,在我們每晚構建之前運行。如果進程失敗,它會生成一個文本文件。我需要做的就是檢查文件是否存在,如果存在,則導致失敗的MSBuild。如果文件存在,如何在MSBuild中導致錯誤?
我目前已經試過如下:
<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" />
這給通過建立與此輸出:
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".
我知道上面的可能是矯枉過正,但我只是需要一些工作!我在這裏錯過什麼?!
感謝, 德里克
我想我找到可接受的解決方案: <錯誤條件=」存在('C:\ Process \ Fail.txt')「文本=」進程沒有通過!「 /> – dprice 2009-04-16 19:23:38
這實際上是一個很好的解決方案。 – 2009-04-19 00:28:24