0

我有一个包含三个项目(X、Y、Z)的解决方案。Z 在 Y 中引用,Y 在 X 中引用。当我在项目 X 上使用 MSBuild SonarQube Runner 开始分析时,它也在分析 Y 和 Z。我们有什么解决方案可以忽略递归分析吗?

注意:我不能将解决方案文件分解为多个解决方案文件并引用 dll 而不是项目。

4

3 回答 3

1

您可以通过在 MSBuild 文件中设置属性将单个项目静态标记为包含/排除。请参阅此处的在线文档。

如果您想做一些更动态的事情,请查看高级配置附录

于 2015-09-14T16:22:05.027 回答
1

在声纳 - >管理 - >常规设置 - >分析范围设置“源文件排除”这样:文件:** / ProjectName / * *(**之间没有空格)

https://i.gyazo.com/ad78d4db8c0bda657d67d17a​​9c6e78d9.png

于 2018-04-27T09:57:00.167 回答
1

您可以将标签添加到项目“X”配置的 ProjectReference“Y”中。

<PropertyGroup Condition=" $(ProjectGuid) != '' AND $(SonarQubeExclude) == '' ">
    <SonarQubeExclude Condition="$(ProjectGuid) == 'C999E666-3666-9990-B666-9999E666' " >true</SonarQubeExclude>
</PropertyGroup>

这必须在 X 项目中添加,并且 id C999E666-3666... 是您要排除的 id。

更多信息: https ://github.com/SonarSource/sonar-.net-documentation/blob/master/doc/appendix-2.md

于 2018-09-28T19:55:46.463 回答