Как я вызываю ошибку в 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".

Я знаю, что вышеупомянутое является, вероятно, излишеством, но мне просто нужно что-то работа! Что я пропускаю здесь?

27
задан abatishchev 18 August 2019 в 05:33
поделиться

1 ответ

Как отметил @dprice в своем комментарии, лучшее решение для этого было бы:

<Error Condition="Exists('C:\Process\Fail.txt')" Text="Process did not pass!" /> 
38
ответ дан 28 November 2019 в 05:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: