MSBuild SonarQube运行器跳过自动生成的文件

本文关键字:自动生成 文件 SonarQube 运行 MSBuild | 更新日期: 2023-09-27 18:07:23

我已经设置了一个本地SonarQube 5.1.1服务器。我还安装了c#插件(版本4.1),以及MSBuild运行器(版本1.0)。然后,我对目前正在进行的项目的。net代码库执行了两次单独的运行:

    使用声纳运行器和c#插件
  1. 使用MSBuild运行程序

两次运行都是通过CLI进行的。然而,这些测试产生了截然不同的结果。下面是一个例子:在第一次运行中,SonarQube计算出代码行数大约为956000行,而在第二次运行中,计算出代码行数"仅"为434000行。然后我做了一些研究,发现后者似乎跳过了一些自动生成的文件。这些文件/类是由一个旧的、内部开发的ORM工具生成的。

我认为,除非另有规定-通过使用包括/排除模式- MSBuild SonarQube运行器将分析每个单个。cs文件在给定的项目中,但显然不是这样。

有人遇到过同样的"问题"吗?有人知道哪种自动生成的文件将被自动排除在分析之外吗?

MSBuild SonarQube运行器跳过自动生成的文件

我在Sonar .NET文档中发现了一些信息,其中包括:

"某些类型的项目将自动从分析中排除。例如,Microsoft Fakes在构建期间生成额外的项目。这些自动生成的项目将不会被分析。"

"由Visual Studio中自定义工具生成的文件将自动排除在分析之外,例如从.resx文件生成的xxx.Designer.cs文件:"

我假设我们的内部ORM工具属于后一类。因此,这就解释了为什么这些文件被排除在分析之外。