Nous avons un processus qui court avant nos constructions nocturnes. Si le processus échoue, il génère un fichier texte. Tout ce que j'ai besoin de faire est de vérifier si le fichier existe, et si c'est le cas, provoquer un MSBuild défaillant.Comment puis-je provoquer une erreur dans MSBuild si un fichier existe?
J'ai actuellement essayé ce qui suit:
<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" />
Ce qui donne un passage à construire avec cette sortie:
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".
Je sais que ce qui précède est probablement exagéré, mais je dois juste quelque chose de travail! Qu'est-ce que j'oublie ici?!
Merci, Derek
Je pense avoir trouvé une solution acceptable: –
dprice
C'est en fait une bonne solution. –