有没有办法强制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出错。 有没有办法让特定的单一警告或警告列表出错?
答案 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)。