2

我想禁用 C# 规则“删除此演员表并编辑界面以添加缺少的功能”(csharpsquid:S3215)。不是一般情况,而是文件夹“something\Business\Genome\*.cs”中的所有文件(“something”可以是一个或多个目录)

我正在尝试在此 SonarQube 项目中使用“忽略多个标准的问题”选项,但我无法确定正确的设置(或者此功能可能根本不起作用?)。

到目前为止我尝试过的组合:

规则键模式 文件路径模式
csharpsquid:S3215 **/Business/Genome/*.cs
csharpsquid:S3215 **\商业\基因组\*.cs
csharpsquid:S3215 **//商业//基因组//*.cs
*:S3215 **/商业/基因组/*.cs
*:S3215 **\商业\基因组\*.cs
*:S3215 **//商业//基因组//*.cs

我什至不知道是规则键模式还是文件路径模式不匹配... :-/

08.03.16 更新: 昨晚我进行了一些额外的测试。我在全局级别上配置了这个而不是项目级别,我使用了

规则键模式 文件路径模式
csharpsquid:S3215 **/?usiness/?enome/*.cs

排除套管问题:也没有成功。

然后我只用了

规则键模式 文件路径模式
csharpsquid:S3215 **/*.cs

看看它是否有效,它确实有效。所以不知何故,我的路径一定是错误的,但我不知道怎么做。

08.03.16 (2) 更新:这是构建服务器日志中的一行:

08:57:50.854 INFO - 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 信息 - 源路径:Absence.cs,...
4

1 回答 1

2

文件包含/排除基于相对于每个 SonarQube 模块(即 Visual Studio 项目)的路径。因此,如果“业务”是一个 VS 项目,这确实行不通。

于 2016-03-08T17:43:59.740 回答