如何从 Jenkins 的“SonarQube Scanner for MSBuild-Begin Analysis”插件中排除少数 .NET 项目

Jai*_*nce 2 c# jenkins sonarqube sonarqube-scan

我们有一个包含 10 多个项目的 Visual Studio 解决方案,包括 ASP.NET Web 项目。创建了一个 Jenkins Jobs 并配置了 SonarQube 来展示代码覆盖率指标,Job 运行成功。

在使用以下参数计算代码覆盖率指标(不包括 ASP.NET Web 项目)时尝试缩小焦点范围时,出现错误 -

sonar.exclusions=" \ASP.NET 项目名称* "

错误- 无法识别的命令行参数:sonar.exclusions= \*

已经提到Narrowing the Focus and Exclusion projects from the MSBuild Runner 而无需更改 csproj 文件

任何人都可以用实际语法提出建议 - 如何从 Jenkins 的“SonarQube Scanner for MSBuild-Begin Analysis”插件中排除项目

谢谢!!任何线索都非常感谢

Val*_*Val 7

尝试使用/d:sonar.exclusions=<value>. Jenkins 中的文本框需要 Scanner for MSBuild 的命令行参数,格式为/d:<sonar.property>=<value>.

sonar.exclusions属性不是很直观,因为过滤器是针对每个项目单独应用的,并且是相对于项目根目录,而不是解决方案根目录(并且您不能使用..返回到解决方案)...

也许从分析中排除单个项目的更好选择是将以下内容放在.csproj文件本身中:

<PropertyGroup> <!-- Exclude the project from analysis --> <SonarQubeExclude>true</SonarQubeExclude> </PropertyGroup>