声纳扫描仪与 MSBuild 的 SonarQube 扫描仪

Dor*_*ruF 1 c# msbuild sonarqube sonarqube-scan

我正在尝试为 C# 代码设置声纳扫描,从文档中我了解到声纳扫描仪已被弃用,我必须使用 MSBuild for C#。但与此同时,我设法对 C# 代码运行声纳扫描仪分析,但也遇到了一些问题。所以扫描似乎是成功的。

我的问题是:是否值得从声纳扫描过渡到 MSBuild 扫描?为什么?我问这个问题是因为做出这样的改变需要一些努力、时间和资源,如果可能的话我宁愿节省这些。

G. *_*eam 5

您在使用 SonarQube Scanner 分析 C# 项目时遇到一些问题并不令人意外。但你得到了你应该得到的一切吗?

当您使用 SonarQube Scanner 进行分析时,您基本上是在逐个文件进行分析。因此,每个源文件都会单独分析,而不需要任何有关其他源文件中定义的类型的信息。还有其他差异。例如,a 的每个部分partial class也被单独分析。正如您可以想象的那样,这只能在尽最大努力的基础上完成,并且会导致丢失或不准确的问题。

相比之下,当您使用 Scanner for MsBuild 时,分析会集成到您的构建过程中。因此分析器可以使用编译器可用的所有类型信息。当然,这会导致更多准确的问题,代码着色,......

这就是为什么建议使用 SonarQube Scanner for MSBuild 来分析 .NET 项目。