SonarRunner由于缺少FxCop而失败

时间:2015-07-09 13:19:19

标签: c# .net tfs sonarqube fxcop

我的TFS 2013版本失败,出现以下错误:

Caused by: java.lang.IllegalArgumentException: The property "sonar.cs.fxcop.assembly" must be set and the project must have been built to execute FxCop rules. This property can be automatically set by the Analysis Bootstrapper for Visual Studio Projects plugin, see: http://docs.codehaus.org/x/TAA1Dg.If you wish to skip the analysis of not built projects, set the property "sonar.visualstudio.skipIfNotBuilt".

我没有或不想要FxCop程序集。 FxCop不再与.NET 4.5兼容。我使用SonarQube 5.1.1和SonarRunner 2.4。我有C ++和C#的插件。 如何在没有FxCop的情况下运行SonarRunner?

2 个答案:

答案 0 :(得分:2)

从您的个人资料中删除FxCop规则(您可以通过在个人资料中执行Repository = FxCop搜索来找到它们)。然后FxCop不会被调用,你的分析也会起作用。

答案 1 :(得分:1)

FxCop实际上与Framework 4.5及更高版本兼容,但您需要获取Visual Studio附带的代码分析位置。

默认位置为:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop

因此,最简单的方法是在构建服务器上安装兼容版本的Visual Studio,2013年的Express版本应该这样做。或者,您可以将自己的Static Analysis Tools\FxCop文件夹复制到构建服务器。

要在Sonar中禁用FxCop规则,我相信您可以设置:

sonar.fxcop.mode=disabled

在Sonar的C#质量配置文件部分中,确保禁用所有与FxCop相关的规则。