C#关闭MSBuild Warning警告信息

通常一个大项目,无论使用那种语言,总会有warning警告信息。有些语言比如C/C++的警告最好别忽略,因为C语言一不小心就能让你进坑里,但是有些语言的警告却并不是那么要紧,比如C#。
使用C#的大项目很多,本地调试编译可以在VS中设置,但是用CI的时候那就只能调用MSBuild命令行进行编译,这时候输出会有一大堆警告。
其实MSBuild可以加参数来屏蔽警告,有两种方式:

  • 1.使用/p:nowarn=1591可以屏蔽CS1591警告信息.如果要同时指定屏蔽多个,可以这样/p:nowarn="105,1591,1572,1573"

  • 2.使用/p:WarningLevel=0可以屏蔽所有警告.WarningLevel的分级信息如下:

    • 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 (Default) Displays all level 3 warnings plus informational warnings

参考:
/nowarn (C# Compiler Options)
/warn (C# Compiler Options)