c# - 如何在 SonarQube 中排除项目特定文件

标签 c# sonarqube

我正在使用 SonarQube(撰写本文时为 6.7)来分析我的 C# 解决方案。 我现在正努力从重复或全面分析中排除文件。

我可以排除如下文件:

<Property Name="sonar.exclusions">**/*.Designer.cs</Property>

或像这样的重复:

<Property Name="sonar.cpd.exclusions">**/*.g.cs,Tests/UITest*.cs</Property>

据我所知,排除模式是相对于项目的根。

现在如果我有以下设置:

  • 项目A
    • a.cs
    • b.cs
  • 项目 B
    • a.cs
    • c.cs

我只想从项目 B 而不是从项目 A 中排除文件 a.cs

a.cs 添加到排除项中会将其排除在两个项目之外。

我发现唯一的方法是使用绝对路径,例如:

file:C:/Development/Solution/Src/Project_B/a.cs

这行得通,但随后我收到一条警告,指出不推荐使用绝对文件路径(通过使用 file:),因此它会在某个时候被删除,因此不应使用。

我已经尝试过使用相对路径,例如:

../Project_B/a.cs

OR

./../Project_B/a.cs

但这并没有排除任何文件。

是否有任何不推荐使用的方法只从一个项目中删除一个文件?

最佳答案

查看 SonarQube 中的项目 B/a.cs。文件头将显示 SonarQube 理解的路径,例如:

enter image description here

在您的排除规范中使用该路径的全部或部分。

关于c# - 如何在 SonarQube 中排除项目特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48316665/

相关文章:

c# - 识别数组中基类的实现

c# - DEBUG - 不会为 SonarQube 之外的以下文件导入代码覆盖率

sonarqube - 代码覆盖率结果未通过 sonarqube 中的 Branching 进行更新

mysql - project_measures 表最近变得很大,如何修剪

sonarqube - 在 SonarQube 中查找更新中心

SonarQube LOC 分析限制

c# - 应用程序主窗口,它的主要用途是什么?

c# - WPF中如何使用WebKit浏览器控件

c# - 多个 Windows 用户帐户上的一个实例应用程序

c# - 如何在wpf datagrid中组合多个标题