MSBuild:将单个警告视为错误

时间:2013-03-21 15:45:51

标签: visual-studio-2010 azure msbuild

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

当运行ccproj文件的Publish目标以生成用于部署到Azure的cspkg时,会抛出此错误:

  

Project.Name:警告WAT150:项目'Project.Name'是   取决于以下程序集:   C:\ WINDOWS \装配\ GAC_64 \ DLLNAME \ 2.10.0.0__Guid \ DllName.dll。这个   装配不在包装中。要确保角色开始,请添加   此程序集作为项目的引用并设置Copy Local   财产到真。   [C:\ BLD \ 66 \ 797 \源头\应用\云\ Project.Name.ccproj]

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

2 个答案:

答案 0 :(得分:1)

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

warningsAsErrors

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

doc link:http://msdn.microsoft.com/en-us/library/vstudio/bb629394(v=vs.100).aspx

答案 1 :(得分:0)

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

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

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