繁体   English   中英

如何使用 msbuild 命令忽略错误并成功构建?

[英]How to ignore error and build successfully by using msbuild command?

我已经尝试使用这些命令通过使用 msbuild 命令忽略错误消息,但它不起作用。

msbuild /property:ContinueOnError=true E:...../xxx.sln

我收到错误消息,例如

GRGVTMWorkflowImp.cs(52,10):错误 CS0246:找不到类型或命名空间名称“GrgCreateFunctionAttribute”(是否缺少 using 指令或程序集引用?) [E:\Fortify_Scan\src\AP1\VTM\20220607 \20220601\GRGVTMBusinessService\GRGVTMWorkflow\GRGVTMWorkflow.csproj] GRGVTMWorkflowImp.cs(36,6):错误 CS0246:找不到类型或命名空间名称“GrgComponent”(您是否缺少 using 指令或程序集引用?)

我知道这些错误消息是什么意思,但我仍然希望项目能够成功构建。

是否可以通过使用 msbuild 命令或任何其他方式来忽略这些错误消息?

根据Microsoft 文档,我得到的印象是ContinueOnError纯粹是 MSBuild 任务的属性。 虽然您确实是通过 MSBuild 进入构建过程,但有时会调用编译器csc.exe
我没有找到任何关于编译器是否也支持这个属性的信息。 但我对此表示怀疑,因为编译器应该如何处理明显损坏的项目(缺少依赖项)? 我的假设和期望 - 快速失败。

参考MSBuild命令行参考我们可以看到“-property:name=value”只是可以设置或覆盖指定的项目级属性,但是ContinueOnError是task的一个属性,所以不能改变ContinueOnError的值。

如果要更改 ContinueOnError 的值,可以编写一个任务来定义 ContinueOnError=true,例如:

<Task 
    Parameter1="Value1" ContinueOnError=" true ">
</Task>

或使用 Directory.Build.targets 自定义您的构建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM