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

标签 msbuild

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

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

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

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

最佳答案

正如您所解释的,您希望在特殊情况下停止构建而不引发错误,因为这是一个正常的退出点。为什么不创建一个什么都不做的目标,作为您的退出点。在您的特殊情况下,您将调用此目标。

<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>

关于msbuild - 如何在不引发错误的情况下停止 MSBuild 执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284389/

相关文章:

c# - 带有 Microsoft.Extensions.DependencyInjection 的 .NET Framework 类库

msbuild - 为什么 MSBuild 会在本地复制所有 DLL,但在我们的 Build Server 上似乎忽略了 CopyLocal=True?

visual-studio - MSBUILD : error MSB1008: Only one project can be specified

msbuild - csproj 属性条件

c# - Powershell:二进制模块与脚本模块

MSBuild:在编译前嵌入文件的任务

msbuild - 在 MSBuild 任务中输出解决方案中的所有文件

c++ - SonarQube Visual Studio 2013 C++ 插件

asp.net-core - ASP.NET Core : A compatible SDK version for global. json 版本 2.1.400 未找到

powershell - 从 PowerShell 运行 MSBuild