99

在 Web 应用程序项目的构建选项卡上,我有一个名为“警告级别”的设置。我可以设置一个从 0 到 4 的值。这些值是什么意思?值 0 是否会更严格并产生更多警告,反之亦然?我还没有找到任何关于它的文档,但也许我找错了地方。

4

6 回答 6

115

此链接向您显示警告级别的定义(我假设您在 Web 项目中使用 C# 代码)。4级是最严格的。


  • 0:关闭所有警告信息的发射。
  • 1:显示严重警告信息。
  • 2:显示 1 级警告以及某些不太严重的警告,例如关于隐藏班级成员的警告。
  • 3:显示 2 级警告以及某些不太严重的警告,例如有关始终评估为truefalse的表达式的警告。
  • 4:显示所有 3 级警告和信息性警告。这是命令行的默认警告级别。
  • 5:显示 4 级警告以及来自 C# 9.0 附带的编译器的其他警告。

任何大于 5 的都被视为 5。

于 2009-03-13T18:30:22.773 回答
10

越高越严格。看到所有对您的应用程序可能意义重大或意义不大的警告可能会很烦人,但花时间清除它们可以教给您很多东西。

于 2009-03-13T18:31:01.150 回答
8

0 完全关闭警告,而 4 是最详细的级别。请参阅此处具有相同警告级别的文档。

于 2009-03-13T18:30:50.353 回答
8

您可以在此处查看 Microsoft 的级别。0 级基本上没有,而 4 级将是最严格的。

于 2009-03-13T18:31:28.513 回答
1

此外,F# 达到警告级别 5:

--warn:警告级别

设置警告级别(0 到 5)。默认级别为 3。每个警告都根据其严重性赋予一个级别。5 级给出的警告比 1 级多,但不那么严重。

5 级警告是:21(在运行时检查递归使用)、22(让 rec 评估乱序)、45(完全抽象)和 52(防御性副本)

https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options

于 2019-04-14T03:14:38.183 回答
-4

例如将警告级别设置为 4 或/W4意味着编译器会将所有警告视为错误。这主要是编译器在看到它感觉不好的东西时的反应。而且,顺便说一句,所有警告的级别为0。

于 2009-03-13T18:31:08.437 回答