I'm trying to setup a Sonar scan for C# code and from the documentation I understand that sonar scanner is deprecated and I have to use MSBuild for C#. But in the meantime I managed to run a sonar scanner analysis on the C# code and also got some issues too. So the scan seems to be successful.
My question is: Is it worth to make the transition from sonar scan to MSBuild scan and why? I'm asking this because making this change would require some effort, time and resources which I would rather spare if possible.
答案 0 :(得分:4)
使用SonarQube扫描仪分析您的C#项目时遇到一些问题并不令人震惊。但是你得到了所有吗?
使用SonarQube扫描仪进行分析时,您基本上是通过文件分析进行文件分析。因此,每个源文件都是独立分析的,没有任何关于其他源文件中定义的类型的信息。还有其他差异。例如,partial class
的每个部分部分也单独分析。正如您可以想象的那样,这只能在尽力而为的基础上完成,并且会导致丢失或不准确的问题。
相比之下,当您使用Scanner for MsBuild时,分析会集成到您的构建过程中。因此,分析器可以使用编译器可用的所有类型信息。当然,这会导致更准确的问题,代码着色,......
这就是为什么推荐使用SonarQube Scanner for MSBuild来分析.NET项目。