使用 Microsoft.CodeAnalysis.FxCopAnalyzers nuget 比默认的托管二进制分析规则集有什么优势?

What is the advantage to use the Microsoft.CodeAnalysis.FxCopAnalyzers nuget over the default Managed Binary Analysis ruleset?

我目前使用托管二进制分析,看起来 nuget 添加了相同的规则(可能更少)。

我也用这个 SonarQube 插件:https://github.com/SonarQubeCommunity/sonar-fxcop.

nuget 的具体用途是什么?

我知道这个问题很老,但我最近有同样的问题,想提供我的发现。

.NET 编译器平台 ("Roslyn") 分析器与托管程序集的遗留 FxCop 静态分析相比具有以下优势:

  • 违规也会直接显示在代码编辑器中,就像正常的编译器警告一样。
  • 违规行为会在您键入时实时显示,而不仅仅是在构建之后。
  • 许多规则还提供代码修复,作为 Visual Studio 快速操作提供。
  • 它们是未来,最终将取代托管代码的静态代码分析。

Roslyn 分析器可作为 NuGet package or a Visual Studio extension 使用。我强烈推荐 NuGet 包。它支持配置每个规则的严重性,如果分析器设置为严重性 "error",则构建失败。当然也不需要每个开发者手动安装。

来源和更多信息Overview of .NET Compiler Platform analyzers