MSBuild SonarQube 跑步者跳过自动生成的文件?
MSBuild SonarQube runner skipping auto-generated files?
我已经设置了本地 SonarQube 5.1.1 服务器。我还安装了 C# 插件(4.1 版)以及 MSBuild 运行ner(1.0 版)。然后我在 .NET 代码库上为我目前正在处理的项目执行了两个单独的 运行s:
- 使用 sonar-运行ner 和 C# 插件
- 使用 MSBuild 运行ner
两个 运行 都是通过 CLI 创建的。然而,运行s 产生了非常不同的结果。这是一个例子:在第一个 运行 中,SonarQube 计算出的代码行数大约为 956 000,而在第二个 运行 中,它被计算为 "only" 大约 434 000。我然后做了一些挖掘,似乎后者跳过了一些自动生成的文件。这些 files/classes 是由内部开发的旧 ORM 工具生成的。
我认为除非另有说明 - 通过使用 include/exclude 模式 - MSBuild SonarQube 运行ner 将分析给定的 每个 单个 .cs 文件项目,但显然情况并非如此。
有没有人经历过同样的事情"problem",有谁知道什么样的自动生成的文件会自动从分析中排除?
我在 Sonar .NET documentation 中找到了一些信息,其中指出:
"某些类型的项目将自动排除在分析之外。例如,Microsoft Fakes 在构建过程中生成额外的项目。这些自动生成的项目将不会被分析。" =11=]
和
"由 Visual Studio 中的自定义工具生成的文件自动从分析中排除,例如从 .resx 文件生成的 xxx.Designer.cs 文件:
我假设我们的内部 ORM 工具属于后一类。因此,这就解释了为什么这些文件被排除在分析之外。
我已经设置了本地 SonarQube 5.1.1 服务器。我还安装了 C# 插件(4.1 版)以及 MSBuild 运行ner(1.0 版)。然后我在 .NET 代码库上为我目前正在处理的项目执行了两个单独的 运行s:
- 使用 sonar-运行ner 和 C# 插件
- 使用 MSBuild 运行ner
两个 运行 都是通过 CLI 创建的。然而,运行s 产生了非常不同的结果。这是一个例子:在第一个 运行 中,SonarQube 计算出的代码行数大约为 956 000,而在第二个 运行 中,它被计算为 "only" 大约 434 000。我然后做了一些挖掘,似乎后者跳过了一些自动生成的文件。这些 files/classes 是由内部开发的旧 ORM 工具生成的。
我认为除非另有说明 - 通过使用 include/exclude 模式 - MSBuild SonarQube 运行ner 将分析给定的 每个 单个 .cs 文件项目,但显然情况并非如此。
有没有人经历过同样的事情"problem",有谁知道什么样的自动生成的文件会自动从分析中排除?
我在 Sonar .NET documentation 中找到了一些信息,其中指出:
"某些类型的项目将自动排除在分析之外。例如,Microsoft Fakes 在构建过程中生成额外的项目。这些自动生成的项目将不会被分析。" =11=]
和
"由 Visual Studio 中的自定义工具生成的文件自动从分析中排除,例如从 .resx 文件生成的 xxx.Designer.cs 文件:
我假设我们的内部 ORM 工具属于后一类。因此,这就解释了为什么这些文件被排除在分析之外。