0

如果我在质量配置文件中停用 FxCop 规则,SonarQube MSBuild 运行器将失败:

在存储库“fxcop”中找不到与规则配置键“CA1305”对应的规则键。

我已经批量添加了所有 fxcop 规则。添加了一个项目。然后停用质量配置文件中的一些规则并尝试分析项目。即使代码中没有任何违反此规则的行为 - 运行器仍然会因这个奇怪的错误而失败。

4

1 回答 1

2

我怀疑您CA1305在禁用存储库中的规则后以某种方式导入了包含问题的 FxCop 报告。

您看到的错误消息正在此处生成,并且仅在解析 FxCop 报告期间调用此方法:https ://github.com/SonarCommunity/sonar-fxcop-library/blob/1.3/src/main/java/ org/sonar/plugins/fxcop/FxCopSensor.java#L179

你能试试:

  1. 禁用CA1305质量配置文件中的规则
  2. 跑:MSBuild.SonarQube.Runner begin /k:... /n:... /v:...
  3. msbuild /t:rebuild
  4. MSBuild.SonarQube.Runner end

那么,您能否验证一下:

  1. 在生成的文件.sonarqube\conf\SonarQubeFxCop-cs.ruleset中,您看不到CA1305
  2. 您可以找到 FxCop 报告的位置.sonarqube\out\*\ProjectInfo.xml- 查找<AnalysisResult Id="FxCop" Location="..."
  3. 在该报告中,没有发生CA1305
于 2015-10-16T12:04:10.827 回答