5

有没有办法强制 MSBuild 将某个警告视为错误?

运行 ccproj 文件的发布目标以生成用于部署到 Azure 的 cspkg 时,会引发此错误:

Project.Name:警告 WAT150:项目“Project.Name”依赖于以下程序集:C:\Windows\assembly\GAC_64\DllName\2.10.0.0__Guid\DllName.dll。该组件不在包装中。要确保角色启动,请将此程序集添加为对项目的引用,并将 Copy Local 属性设置为 true。[C:\bld\66\797\Sources\Applications\cloud\Project.Name.ccproj]

这是一个警告,可能意味着角色在部署时不会启动......我想让 WAT150 成为错误。 有没有办法使特定的单个警告或警告列表成为错误?

4

2 回答 2

5

在 MSBuild 中,您可以使用/warnaserror命令行开关

  /warnaserror[:code[;code2]]
                     List of warning codes to treats as errors.  Use a semicolon
                     or a comma to separate multiple warning codes. To treat all
                     warnings as errors use the switch with no values.
                     (Short form: /err[:c;[c2]])

                     Example:
                       /warnaserror:MSB4130

                     When a warning is treated as an error the target will
                     continue to execute as if it was a warning but the overall
                     build will fail.

这相当于<WarningsAsErrors>在项目文件 ( docs ) 中设置属性。

为了完整起见,C# 编译器还具有-warnaserror命令行选项 ( docs )。

于 2019-05-11T08:03:54.593 回答
2

在 msbuild 命令行选项中,你有这个:

警告作为错误

指定要视为错误的警告列表。此参数等效于 /warnaserror 编译器开关。

文档链接: http: //msdn.microsoft.com/en-us/library/vstudio/bb629394 (v=vs.100).aspx

于 2013-03-21T15:57:57.070 回答