在 Visual Studio 中,我可以选择“将警告视为错误”选项,以防止在出现任何警告时编译我的代码。我们的团队使用此选项,但我们希望保留两个警告作为警告。
有一个选项可以抑制警告,但我们确实希望它们显示为警告,所以这行不通。
似乎获得我们想要的行为的唯一方法是将每个 C# 警告编号的列表输入到“特定警告”文本框中,除了我们希望视为警告的两个。
除了维护问题之外,这种方法最大的缺点是一些警告没有编号,因此无法明确引用。例如,“无法解析此引用。无法找到程序集‘Data....’”
有谁知道更好的方法吗?
为那些没有立即明白为什么有用的人澄清。想想大多数警告是如何工作的。他们告诉您您刚刚编写的代码中有些地方不对劲。修复它们大约需要 10 秒,这可以使代码库更干净。
“过时”警告与此有很大不同。有时修复它意味着只使用一个新的方法签名。但是,如果整个类都已过时,并且您在数十万行代码中分散使用它,则可能需要数周或更长时间才能修复。您不希望构建被破坏那么久,但您绝对希望看到有关它的警告。这不仅仅是一个假设的案例——这已经发生在我们身上。
文字“#warning”警告也是独一无二的。我经常想检查它,但我不想破坏构建。
最佳答案
您可以在项目文件中添加一个WarningsNotAsErrors
标签。
<PropertyGroup>
...
...
<WarningsNotAsErrors>618,1030,1701,1702</WarningsNotAsErrors>
</PropertyGroup>
注意:612
和 618
都是关于 Obsolete 的警告,不知道区别,但我正在处理的项目正在报告 Obsolete 和警告 618。
关于c# - Visual Studio 中的 "Treat all warnings as errors except...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18204645/