【问题标题】:CA1801 vs IDE0060CA1801 与 IDE0060
【发布时间】:2019-06-18 14:53:41
【问题描述】:

在 VS 2019 中,未使用的参数现在在“错误列表”中显示两个问题,而不是一个:CA1801,显示为警告,IDE0060,显示为建议。

这些分析规则做同样的事情吗?如果不是,它们有何不同。如果有,为什么会重复?

【问题讨论】:

  • 我遇到了与 CA1823 和 IDE0052 类似的问题。

标签: roslyn visual-studio-2019 roslyn-code-analysis


【解决方案1】:

不同的工具,相同的想法的不同实现。重复是由 Visual Studio (IDE0060) 和 FxCop (CA1801) 实现的规则引起的。另一个副本来自 SonarQube 分析器 (S1172)。

FxCop 规则也由不基于 Roslyn 的遗留代码分析实现。如CA1801 rule's documentation 中所述,此实现在细节上有所不同。相同的规则名称,不同的实现。

作为单独的实现,它们很可能在细节上有所不同。我认为这些细节并不重要——规则背后的意图是相同的。

【讨论】:

  • 我有一个 .NET 4.8 项目。在项目属性的代码分析选项卡上,我已取消选中二进制分析器下的构建时运行。这不应该阻止 CA1801 出现在我的错误列表中吗?不知何故,我遇到了 OP 的两个错误,但我认为该复选框禁用了 FXCop,所以......我错过了什么? (谢谢!)
  • @pbarranis Visual Studio 2019 中 .NET Framework 项目的代码分析情况完全一团糟……而且每次发布都会发生变化。检查你的 VS 扩展和项目 NuGet 包。
猜你喜欢
  • 1970-01-01
  • 2022-01-27
  • 2011-03-26
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 2012-12-05
  • 1970-01-01
  • 2015-12-10
相关资源
最近更新 更多