有没有办法在从命令行运行MSBuild时禁用特定的MSBuild警告(例如MSB3253)?我的构建脚本通过以下方式调用msbuild.exe:
msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release
我发现我可以使用msbuild.exe的另一个参数来抑制C#警告(例如CS0618):
msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release /p:NoWarn=0618
但是,这种方法不适用于MSBuild警告。也许还有另一个神奇的属性需要设置?
我使用的是.NET 3.5和VS2008。
发布于 2011-04-21 17:03:25
我已经设法用/p:WarningLevel=X
抑制了警告级别
msbuild.exe MySolution.sln /t:Rebuild /p:WarningLevel=0 /p:Configuration=Release
^^^^^^^^^^^^^^^^^
Warning
Level Meaning
-------- -------------------------------------------
0 Turns off emission of all warning messages.
1 Displays severe warning messages
2 Displays level 1 warnings plus certain, less-severe warnings, such
as warnings about hiding class members
3 Displays level 2 warnings plus certain, less-severe warnings, such
as warnings about expressions that always evaluate to true or false
4 (the default) Displays all level 3 warnings plus informational warnings
发布于 2014-06-26 16:15:23
对于MSB3253,您只需在导致此类警告的项目文件(*.csproj)中设置即可。
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<!-- some code goes here -->
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
None
</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
<!-- some code goes here -->
</PropertyGroup>
发布于 2009-06-21 13:26:47
根据MSDN论坛中的this线程,MSBuild警告不能被抑制。
https://stackoverflow.com/questions/1023858
复制相似问题