【发布时间】:2010-09-20 23:56:05
【问题描述】:
在 Visual Studio 中,我可以选择“将警告视为错误”选项,以防止在出现任何警告时编译我的代码。我们的团队使用此选项,但我们希望保留两个警告作为警告。
有一个禁止警告的选项,但我们确实希望它们显示为警告,所以这不起作用。
似乎获得我们想要的行为的唯一方法是在“特定警告”文本框中输入每个 C# 警告编号的列表,除了我们希望视为警告的两个。
除了令人头疼的维护之外,这种方法的最大缺点是一些警告没有数字,因此无法明确引用。例如,“无法解析此引用。找不到程序集 'Data....'”
有人知道更好的方法吗?
为那些没有立即明白为什么这是有用的人澄清。想想大多数警告是如何工作的。他们告诉你,你刚写的代码有些不对劲。修复它们大约需要 10 秒,这使代码库更加整洁。
“过时”警告与此大不相同。有时修复它意味着只使用一个新的方法签名。但是,如果整个类已经过时,并且您在数十万行代码中分散使用它,则可能需要数周或更长时间才能修复。您不希望构建被破坏那么久,但您肯定希望看到有关它的警告。这不仅仅是一个假设的案例——这已经发生在我们身上。
文字“#warning”警告也是独一无二的。我经常想要检查它,但我不想破坏构建。
【问题讨论】:
-
你能在你的大数字列表中加入空格吗?它塞满了换行符。
-
天哪,我讨厌人为制定的复杂规则,通常是为了安抚某些特定人的自我。
-
我明白他关于过时警告的观点,这不是任意的。
-
根据我的经验,在你的构建中允许一个警告就像添加第一个异步/等待。很快就会有几十个。在所有设置中,我记得开发人员能够在 VS 的错误列表窗口中看到少于 10 个警告。我敢打赌,一旦你有超过 5 个警告,团队中的绝大多数开发人员将无法发现一个新的 - 在你的设置中,这意味着他们不会发现该方法已过时的警告,这无视发出警告的全部目的:) 你对这个尼尔有什么经验?
-
@mayu,这是一个难题。很多时候,我看到警告被忽视了很长时间。但最终,要么显示警告,要么什么都不显示。如果您显示警告,至少有人有机会从中学到有用的东西。如果您将大多数警告视为错误,那么剩下的少数可以得到更多关注。
标签: c# visual-studio msbuild