如果我在质量配置文件中停用FxCop规则,SonarQube MSBuild运行器将失败:
无法找到与规则配置密钥相对应的规则密钥' CA1305'在存储库" fxcop"。
我已批量添加了所有fxcop规则。添加了一个项目。然后停用质量配置文件中的一些规则并尝试分析 new 项目。 即使代码中没有任何违反此规则的行为 - 跑步者仍然会因为这个奇怪的错误而失败。
答案 0 :(得分:2)
我怀疑在您在存储库中禁用规则后,您以某种方式导入了包含CA1305
问题的FxCop报告。
您在此处生成的错误消息正在生成,此方法仅在解析FxCop报告期间调用:https://github.com/SonarCommunity/sonar-fxcop-library/blob/1.3/src/main/java/org/sonar/plugins/fxcop/FxCopSensor.java#L179
你可以尝试一下:
CA1305
规则MSBuild.SonarQube.Runner begin /k:... /n:... /v:...
msbuild /t:rebuild
MSBuild.SonarQube.Runner end
然后,你能验证一下:
.sonarqube\conf\SonarQubeFxCop-cs.ruleset
中,您看不到CA1305
的条目.sonarqube\out\*\ProjectInfo.xml
中找到FxCop报告的位置 - 查找<AnalysisResult Id="FxCop" Location="..."
CA1305