【问题标题】:Sonar scanner vs. SonarQube Scanner for MSBuild声纳扫描仪与用于 MSBuild 的 SonarQube 扫描仪
【发布时间】:2017-04-27 14:48:08
【问题描述】:
我正在尝试为 C# 代码设置声纳扫描,从文档中我了解到声纳扫描器已被弃用,我必须将 MSBuild 用于 C#。
但与此同时,我设法对 C# 代码进行了声纳扫描仪分析,也遇到了一些问题。所以扫描似乎成功了。
我的问题是:从声纳扫描过渡到 MSBuild 扫描是否值得?为什么?
我之所以这样问,是因为进行此更改需要一些精力、时间和资源,如果可能的话,我宁愿节省。
【问题讨论】:
标签:
c#
msbuild
sonarqube
sonarqube-scan
【解决方案1】:
您在使用 SonarQube Scanner 分析您的 C# 项目时遇到一些问题并不令人震惊。但是你得到了你应该拥有的所有吗?
当您使用 SonarQube 扫描仪进行分析时,您基本上是在逐个文件进行分析。因此,每个源文件都被单独分析,而没有任何关于其他源文件中定义的类型的信息。还有其他差异。例如,partial class 的每个部分也被单独分析。正如您所想象的那样,这只能在尽力而为的基础上完成,并且会导致遗漏或不准确的问题。
相比之下,当您使用 Scanner for MsBuild 时,分析将集成到您的构建过程中。因此分析器可以使用编译器可用的所有类型信息。自然,这会导致更准确的问题、代码着色……
这就是为什么建议将 SonarQube Scanner for MSBuild 用于分析 .NET 项目的原因。