2015-10-14 36 views
0

SonarQube的MSBuild亞軍失敗,如果我停用質量配置文件的FxCop規則:SonarQube的MSBuild轉輪上停用規則失敗

無法找到相應的規則配置鍵「CA1305」規則鍵在庫「的FxCop」。

我已經批量添加了所有的fxcop規則。添加了一個項目。然後關閉質量配置文件中的一些規則,並嘗試分析新的項目。 即使在代碼中沒有任何違反這條規則的原因,運行者仍然會因爲這個奇怪的錯誤而失敗。

回答

2

我懷疑你是在某種程度上導入了一個FxCop報告,其中包含CA1305問題,你禁用了存儲庫中的規則。

你看到這裏正在發生,而這種方法僅是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

然後,你可以驗證:

  • 在生成的文件.sonarqube\conf\SonarQubeFxCop-cs.ruleset,你看不到CA1305
  • 你可以找到位置的條目在.sonarqube\out\*\ProjectInfo.xml的FxCop的報告 - 查找<AnalysisResult Id="FxCop" Location="..."
  • 在該報告中,不存在CA1305
  • occurence