我已经阅读了有关排除的文档,尝试了几种组合,但 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# 文件的排除项的任何想法?
非常感谢!
里卡多