有人知道如何查看VB.NET项目的所有编译器警告吗?

8

VB.NET有一个非常烦人的限制,即编译器警告上限为100。

vbc : warning BC42206: Maximum number of warnings has been exceeded.

当尝试评估遵循VB.NET最佳实践所需的努力量时,这使事情变得非常令人沮丧,例如启用Option Strict。

是否有任何方法可以消除、调整此限制或通过其他方式(如通过第三方代码分析工具)收集警告?

4个回答

5
官方答案显然是“不行”。来自Microsoft的说法是:“虽然存在这个问题,但Visual Basic编译器团队决定将硬限制保留在报告的错误中,因为它有助于提高性能。”

3
自VB11起,在VS2012中,当从命令行调用vbc时,不再有最大错误限制。
这可能现在有更好的链接,但在我找到更好的链接之前,这个链接可以使用。
更新:新链接

0

你应该阅读在Visual Basic中配置警告如何启用或禁用编译器警告

例如,你可以在编译器选项(项目构建属性下)中添加以下行:

warnaserror:42206

这应该(我自己还没有尝试过...)可以禁用您的100个错误限制。

另外,100个警告是一个非常大的数字。您应该检查并修复这些警告的原因,以确保代码质量。


2
请注意,此问题的目标是确定警告数量,以便进行修复。但是,我不知道我的总警告数是101还是101,000。虽然这些文章讨论了如何启用或禁用特定警告,但它们并未涉及适用于所有警告的警告上限。记录一下,我已经启用了所有警告。我确实尝试了上述编译器选项,但不幸的是没有成功。 - Technobabble
还没有找到更好的解决方案。抱歉。 - Amirshk
1
我已经尝试过了,但没有成功。当你对一个大项目进行一些重大更改时,基于错误类型来修复错误可能比VS显示的前104个错误更简单。你可以使用搜索代替,但是它不如点击下一个错误那么有效。 - xpda
1
你可以尝试使用类似ReSharper的工具,它可以进行代码分析并在编译之前识别出大部分错误。 - Amirshk
但如果您升级了代码,它确实不喜欢很多VB6的特性。 - Mark Hurd

0

我在我正在进行的SQL项目中遇到了同样的问题;警告限制是200个。然后,当我修复它们时,新的警告会合并进来,所以数量从未减少过!

我发现如果你在“生成”输出中查看“输出”选项卡,你可以看到所有内容。在我的情况下,有成千上万个警告。只需选择全部并将其复制/粘贴到文本编辑器中即可。


很遗憾,vbc不是这样的。它会在任何地方停止报告警告。 - Blorgbeard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接