This has been asked,但没有回答。答案(使用/warn:1
)不适用于msbuild.exe,只适用于csc.exe。也许我错过了csc和msbuild之间的东西?
我想要禁止所有编译器警告和代码分析警告(例如“已分配变量'variableNameHere'但其值......”或代码分析警告:CA1805: Microsoft.Performance:... )当我使用命令行msbuild时。我不想改变解决方案文件。在我正在构建的非常大的解决方案中有几百个警告消息 - 修复它们远远超出了我的项目范围。
我尝试了/v:quiet
但是没有用。
有没有办法通过命令行执行此操作?
更新:这:
C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe C:\Dev\ReallyBigSolution.sln /p:NoWarn=true /p:NoWarn=CA1031
绝对不起作用。我仍然收到数百个警告,包括我特别阻止的警告(CA1031)。
使用/p:RunCodeAnalysis=Never
或/p:RunCodeAnalysis=false
显然不会禁止代码分析警告或错误。
答案 0 :(得分:12)
可以在编译器上使用nowarn标志,该标志对应于.csproj文件中的<NoWarn>
属性。因此,msbuild /p:NoWarn="37;68"
可能会关闭那些警告号码(尚未尝试过)。
或使用
http://msdn.microsoft.com/en-us/library/13b90fz7.aspx
完全关闭警告。我不知道该属性名称,请尝试/p:Warn=0
。
编辑:到最后阅读评论;似乎真的摆脱所有这些警告是不可能的。
答案 1 :(得分:9)
我知道这是一个老帖子,但它让我走上了正确的轨道,并通过在我的msbuild调用中添加以下内容,它在构建项目时抑制了所有警告和输出。我在批处理文件中有这个,所以我相信的唯一输出是最终结果和我用echo提示的任何消息。秘密在/ clp开关中。所以我查了一下并放入了所有压制输出的东西。每个人都摆脱了更多,但仍有黄色警告出现,当我添加ErrorsOnly开关时,没有更多的输出。
call msbuild /clp:NoSummary;NoItemAndPropertyList;ErrorsOnly /verbosity:quiet /nologo
答案 2 :(得分:3)
试试这个:
msbuild.exe C:\Dev\BigSolution.sln /p:WarningLevel=0 /p:RunCodeAnalysis=false
答案 3 :(得分:1)
我已经尝试了这个并且无法抑制警告,除非我在msbuild.exe的/ NoWarn属性中列出它们
答案 4 :(得分:0)
http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/96b3ea2e-92ed-4483-bbfe-a4dda3231eb9
据此,它无法抑制。
答案 5 :(得分:0)
看起来像not possible ...
引发带有MSB前缀的警告 MSBuild的。目前,我们无法抑制 MSBuild警告。