roslyn - CA1801和IDE0060

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

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

最佳答案

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

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

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