我想禁用C#规则“删除此演员表并编辑界面以添加缺少的功能”(csharpsquid:S3215)。并非一般,而是针对文件夹“ something \ Business \ Genome \ *。cs”中的所有文件)
(“某物”可以是一个或多个目录)
我试图在此SonarQube项目上使用选项“忽略多个标准中的问题”,但我无法弄清楚正确的设置(或者此功能根本无法正常工作?)。
到目前为止,我尝试过的组合:
规则键码文件路径码
csharpsquid:S3215 ** / Business / Genome / *。cs
csharpsquid:S3215 ** \ Business \ Genome \ *。cs
csharpsquid:S3215 ** //业务//基因组//*.cs
*:S3215 ** / Business / Genome / *。cs
*:S3215 ** \ Business \ Genome \ *。cs
*:S3215 ** //业务//基因组//*.cs
我什至不知道是不匹配的规则键模式还是文件路径模式...:-/
更新08.03.16:
昨晚我进行了一些其他测试。我不是在项目级别而是在全局级别配置的,
规则键码文件路径码
csharpsquid:S3215 ** /?usiness /?enome / *。cs
排除套管问题:也没有成功。
然后我就用
规则键码文件路径码
csharpsquid:S3215 ** / *。cs
看看它是否可以工作,并且确实可以。
因此,我的路径一定是错误的,但是我不知道如何。
更新08.03.16(2):这是构建服务器日志中的一行:
08:57:50.854信息-已分析0/658个文件,开始分析:C:\ Program Files(x86)\ Jenkins \ workspace \ Tools .Net(Nightly)\ Tools \ Business \ Genome \ Absence.cs
我敢肯定这不是包装问题。但是我还有另一个怀疑。我扫描了整个解决方案,显然SonarQube将该解决方案中的每个项目视为一个组件,并分别扫描每个组件/项目。扫描路径是否可能相对于项目?因为我也在日志中看到了这一点:
08:57:43.701信息-正在加载插件stylecopanalyzers
08:57:43.924信息-基本目录:C:\ Program Files(x86)\ Jenkins \ workspace \ Tools .Net(Nightly)\ Tools \ Business \ Genome
08:57:43.924信息-工作目录:C:\ Program Files(x86)\ Jenkins \ workspace \ Tools .Net(Nightly)\。sonarqube \ out \ .sonar ...
08:57:44.103 INFO-源路径:Absence.cs,...
最佳答案
文件包含/排除基于相对于每个SonarQube模块(即Visual Studio项目)的路径。因此,如果“业务”是一个VS项目,那么这确实行不通。