将SonarQube 5.6.6与MSBuild扫描仪配合使用时,我未能成功进行分析以忽略文件。 我的属性文件中的模式以及添加到SonarQube项目中的排除模式似乎都被忽略了。
我的属性文件如下:
<SonarQubeAnalysisProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1">
<Property Name="sonar.verbose">true</Property>
<Property Name="sonar.sourceEncoding">UTF-8</Property>
<Property Name="sonar.cs.nunit.reportsPaths">log/ut/backend.UT.xml</Property>
<Property Name="sonar.cs.opencover.reportsPaths">log/coverage/backend.Coverage.xml</Property>
<Property Name="sonar.exclusions">**Enums/**,**/Microsoft.WMI.ROOT.CIMV2/**</Property>
<Property Name="sonar.coverage.exclusions">**/Win32_*.CS</Property>
</SonarQubeAnalysisProperties>
构建(带有扫描)日志中的一个片段似乎表明将排除无关的代码(Microsoft.WMI.ROOT.CIMV2),如下所示:
13:47:07.014 INFO: Source encoding: UTF-8, default locale: en_US
13:47:07.014 INFO: Index files
13:47:07.014 INFO: Excluded sources:
13:47:07.014 INFO: **Enums/**
13:47:07.014 INFO: **/Microsoft.WMI.ROOT.CIMV2/**
13:47:07.015 DEBUG: Declared extensions of language CSS were converted to sonar.lang.patterns.css : **/*.css
但是,Microsoft.WMI.ROOT.CIMV2仍包含在分析中。
portion of my code analysis page
我还有一个组件,称为CO.Sub1.Sub2.Purpose,为此我通过SonarQube GUI调整了范围。从GUI中,我打开了组件的页面,选择了管理->常规设置->分析范围
对于“覆盖范围排除”,我保存了模式“ ** / *”。但是,在该项目的“代码”页面上,我仍然看到:
CO.Sub1.Sub2.Purpose 466 0 0 8 5.2% 0.0%
我在做什么错了?