【问题标题】:SonarRunner fails because of missing FxCopSonarRunner 因缺少 FxCop 而失败
【发布时间】:2015-09-27 21:38:00
【问题描述】:

我的 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?

【问题讨论】:

    标签: c# .net tfs sonarqube fxcop


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      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 相关的规则。

      【讨论】:

      • It looks 不过,您需要安装 Visual Studio Express Desktop 版。
      • 我不知道。我看到了这个website 并认为它被搁置了一段时间。我将尝试安装 VS Express Desktop。
      • 只需安装您已获得许可的 VS 版本。构建服务器上的 Visual Studio 没有许可证要求。
      • @Daniel 据我所知,这是针对 MSDN 下许可的 Visual Studio 的。不是零售许可证。
      • 我尝试在构建代理上安装 VS。结果是错误消息发生了变化,但构建仍然没有通过另一个与 FxCop 相关的错误消息。这就是为什么我最终听从了 G. Ann 的建议。现在构建又快乐了。
      猜你喜欢
      • 2019-11-09
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 2021-03-11
      • 1970-01-01
      相关资源
      最近更新 更多