如何在不引发错误的情况下停止MSBuild执行?

Mar*_*lin 7 msbuild

使用MSBuild,一旦发生错误,项目的执行就会停止,除非ContinueOnError=true.

有没有办法在不引发错误的情况下停止项目的执行?

我想有这种可能性,因为我有一组现有的msbuild项目文件,在某些情况下,我需要停止处理项目而不会引发错误,因为它是进程的正常退出点而我不是希望使用脚本的人认为出了问题.

我知道我可以设置一些属性,并将所有剩余的任务置于此条件,但我想避免这种情况.

Jul*_*rau 9

在您解释它时,您希望在特殊情况下停止构建而不会引发错误,因为它是正常的退出点.为什么不创建一个目标,不做任何可以作为退出点的目标.在您的特殊情况下,您将调用此目标.

<target Name="BuildProcess">
   <Message Text="Build starts"/>
   ...
   <CallTarget Targets="Exit"
               Condition="Special Condition"/>

   <CallTarget Targets="Continue"
               Condition="!(Special Condition)"/> 
   ...     
</target>

<target Name="Continue">
  <Message Text="Build continue"/>  
</target>

<target Name="Exit">
  <!-- This target could be removed -->
  <!-- Only used for logging here -->
  <Message Text="Build ended because special condition occured"/>
</target>
Run Code Online (Sandbox Code Playgroud)