无法从特定目录中排除 SonarQube 中的项目

Unable to exclude projects in SonarQube from a specific directory

我一直致力于在我们的代码库中设置 SonarQube,但我在排除过程中遇到了一些奇怪的困难。我们的代码目录设置如下:

Main
   \Common\
   \Portal\
   \Tools\

我们在 Nuget 项目或解决方案中以各种组合使用每个项目中的各种项目。我遵循了如何排除项目进行分析的示例,我可以看到它有效,但并非总是如此。看来我可以很好地排除 Common 或 Tools 下的项目,但不能排除 Portal 目录下的项目。

Portal目录下的所有项目如下图所示。我可以很好地排除 BusinessObjects 项目,如下图所示,所以我知道该过程正在运行。但是,我似乎根本无法排除 Contracts 项目。所有 3 个 csproj 文件都有一个 属性 组指定它们关联的 Sonar 项目。

我在解决方案中有目标文件,我在构建中将正确的值传递给 MSBuild,每个项目都有一个 属性 组,其中有一个名称。一切似乎都很好并且可以正常工作,因为它排除了一个项目,但是,我无法在 Portal 下排除任何东西。我可以从任何其他目录中排除,只是不能从 Portal 中排除。

Portal目录是Sonar的保留目录还是特殊目录?有什么明显的,对我而言可能是愚蠢的,我错过了吗?

Sonar Output

.Targets 似乎并不总是删除,对我想排除的项目的 .sonarqube 目录中的 IsExcluded 进行 powershell。似乎比修改我所有的项目要少工作。