9

我已经阅读了有关排除的文档,尝试了几种组合,但 Sonar 仍在分析它不应该分析的代码。以下是我的 sonar-runner.properties 文件的示例:

#----- Required metadata
sonar.projectKey=ProjectKey
sonar.projectName=ProjectName
sonar.projectVersion=1.0
sonar.sources=MySourceFolder
sonar.build-stability.url=-
sonar.language=cs
sonar.dotnet.visualstudio.solution.file=MySourceFolder\\Solution.sln
sonar.donet.visualstudio.testProjectPattern=*.Tests*

#----- Default source code encoding
sonar.sourceEncoding=UTF-8

#----- Default Sonar server
sonar.host.url=http://myserver

#----- MySQL
sonar.jdbc.url=jdbc:mysql://myserver:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
sonar.jdbc.driver=com.mysql.jdbc.Driver

#----- Global database settings
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

#----- Static analysis
sonar.fxcop.installDirectory=C:/Program Files (x86)/Microsoft Fxcop 10.0

我使用的最后一个选项是通过 Sonar UI 配置排除项(项目设置>排除>源文件排除)并设置如下值:

MySourceFolder/FolderA/FolderB/*.cs

在日志中,我看到以下消息:

[17:27:10][Step 7/9] 17:27:10.919 INFO  - Excluded sources: 
[17:27:10][Step 7/9] 17:27:10.919 INFO  -   MySourceFolder/FolderA/FolderB/*.cs

尽管如此,我仍在分析代码,因为它出现在声纳违规和重复插件信息中。

关于可能导致此行为的原因或如何正确配置 C# 文件的排除项的任何想法?

非常感谢!

里卡多

4

2 回答 2

4

正如在SonarQube 分析参数页面上指定的那样,指定排除项的属性是“sonar.exclusions”。

因此,您可以在“sonar-project.properties”文件中指定以下内容:

sonar.exclusions=FolderA/FolderB/*.cs
于 2013-07-31T07:38:04.473 回答
1

实际上,对我来说,它的作用正好相反。
sonar.exclusion 没有从分析中排除文件,但通过 Sonar GUI 将文件名添加到排除列表中工作正常。
我用它来进行 JavaScript 分析。

于 2013-08-22T06:12:00.560 回答