SonarQube MSBuild运行程序在未激活的规则上失败

本文关键字:规则 失败 激活 MSBuild 运行 程序 SonarQube | 更新日期: 2023-09-27 18:17:36

SonarQube MSBuild运行程序失败,如果我在质量配置文件中禁用FxCop规则:

无法在存储库"fxcop"中找到与规则配置键'CA1305'对应的规则键。

我批量添加了所有的fxcop规则。添加一个项目。然后取消了质量配置文件中的一些规则,并尝试分析新的项目。

SonarQube MSBuild运行程序在未激活的规则上失败

即使在代码中没有任何违反此规则的情况下,运行程序仍然失败,并出现这个奇怪的错误。

我怀疑您在禁用存储库中的规则后,以某种方式导入了包含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. Run: MSBuild.SonarQube.Runner begin /k:... /n:... /v:...
  3. msbuild /t:rebuild
  4. MSBuild.SonarQube.Runner end

那么,你能证实:

在生成的文件.sonarqube'conf'SonarQubeFxCop-cs.ruleset中,您没有看到CA1305 的条目
  • 您可以在.sonarqube'out'*'ProjectInfo.xml中找到FxCop报告的位置-查找<AnalysisResult Id="FxCop" Location="..."
  • 在该报告中,没有出现CA1305