C# 如何在SonarQube中排除特定于项目的文件
我正在使用SonarQube(撰写本文时为6.7)分析我的C#解决方案。 我现在正努力从复制或完全分析中排除文件 我可以排除以下文件:C# 如何在SonarQube中排除特定于项目的文件,c#,sonarqube,C#,Sonarqube,我正在使用SonarQube(撰写本文时为6.7)分析我的C#解决方案。 我现在正努力从复制或完全分析中排除文件 我可以排除以下文件: <Property Name="sonar.exclusions">**/*.Designer.cs</Property> ***.Designer.cs 或复制品,如: <Property Name="sonar.cpd.exclusions">**/*.g.cs,Tests/UITest*.cs</Propert
<Property Name="sonar.exclusions">**/*.Designer.cs</Property>
***.Designer.cs
或复制品,如:
<Property Name="sonar.cpd.exclusions">**/*.g.cs,Tests/UITest*.cs</Property>
***/.g.cs,测试/UITest*.cs
正如我所知,排除模式与项目的根相关
现在,如果我有以下设置:
- 项目A
- a、 cs
- b、 cs
- 项目B
- a、 cs
- c、 cs
a.cs
,但不想从项目a中排除
将a.cs
添加到排除项中会将其从两个项目中排除
我发现的唯一方法是使用如下绝对路径:
文件:C:/Development/Solution/Src/Project_B/a.cs
这是可行的,但随后我得到一个警告,即不推荐使用绝对文件路径(通过使用file:),因此在某些时候会将其删除,因此不应使用
我已经尝试过使用相对路径,如:
../Project_B/a.cs
或
./../Project_B/a.cs
但这并不排除任何文件
是否有任何不推荐的方法可以仅从一个项目中删除文件?查看SonarQube中的项目B/a.cs。文件头将显示SonarQube理解的路径,例如:
在排除规范中使用该路径的全部或部分。您可以在项目文件中直接使用SonarQubeExclude MSBuild属性排除整个项目或单个文件。有关更多详细信息,请参阅SonarQube.Integration.Targets文件中的。关于Src/Project_B/a.cs,由于路径是相对于项目根目录的,这也没有帮助。您找到解决方案了吗?我正在与同样的问题作斗争。:)不幸的是还没有。嗨,安,谢谢你的回答,但问题是,这条路是相对于项目的。所以我在那里看到了a.cs。如果我添加这个,那么这个文件将从项目A和项目B中删除,但我只希望它从项目B中删除。SQ中的整个路径字符串是“A.cs”?是的。我重新构建了我上面写的内容,这里是:路径就是
/a.cs
。对于项目A,A.cs
具有与问题完全相同的路径。感谢您的提示。这至少可以从SonarQube中完全排除特定于项目的文件:true
是否还有一种方法可以使用它仅从重复检查中排除文件?还没有找到任何关于这方面的提示。我看到,根据一个人也可以设置项目特定的设置。我尝试了a.cs
,但这并没有排除重复的文件。虽然如果我使用sonar.exclusions
文件将从所有分析中排除。