在Visual Studio中,我可以选择"将警告视为错误"选项,以防止在有任何警告的情况下编译代码.我们的团队使用此选项,但我们希望保留两个警告作为警告.
有一个选项可以禁止警告,但我们希望它们显示为警告,这样就不起作用了.
似乎获得我们想要的行为的唯一方法是在"特定警告"文本框中输入每个C#警告号的列表,除了我们想要作为警告的两个.
除了维护问题之外,这种方法的最大缺点是一些警告没有数字,因此无法明确引用它们.例如,"无法解析此引用.无法找到程序集'数据....'"
有谁知道更好的方法吗?
澄清那些没有立即看到为什么这是有用的人.想想大多数警告是如何工作的.他们告诉你刚才写的代码中有些东西.修复它们大约需要10秒钟,这样可以保持代码库更清洁.
"过时"警告与此截然不同.有时修复它意味着只使用新的方法签名.但是,如果整个类已经过时,并且您使用它分散了数十万行代码,那么修复它可能需要数周或更长时间.您不希望构建在那么长时间内被破坏,但您肯定希望看到有关它的警告.这不仅仅是一个假设的案例 - 这发生在我们身上.
文字"#warning"警告也是独一无二的.我经常想检查它,但我不想打破构建.
小智 146
您可以WarningsNotAsErrors在项目文件中添加-tag.
<PropertyGroup>
...
...
<WarningsNotAsErrors>618,1030,1701,1702</WarningsNotAsErrors>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
注意:612并且618都是关于过时的警告,不知道区别,但我正在处理的项目是报告已过时警告618.
Dre*_*kes 11
在 Visual Studio 2022 中,我们有一个新的项目属性 UI,其中包含一个编辑器。
正在建设中| 错误和警告如果将“将警告视为错误”设置为“全部”,则会出现另一个属性,该属性允许您免除将特定警告视为错误:
这会将以下属性添加到您的项目中:
<WarningsNotAsErrors>618,1030,1701,1702</WarningsNotAsErrors>
Run Code Online (Sandbox Code Playgroud)