3

我正在使用以下配置在构建服务器上构建和分析示例 C# 项目:

  • 詹金斯 1.630;
  • SonarQube 5.3 包含所有更新;
  • FxCop 10.0

我在 Jenkins Job 中放置了以下步骤:

  • 适用于 MSBuild 的 SonarQube 扫描仪 - 开始分析
  • 使用 MSBuild (MSBuild 14) 构建 Visual Studio 项目或解决方案
  • 用于 MSBuild 的 SonarQube 扫描仪 - 结束分析

如果在默认的 C# 配置文件中没有 FxCop 规则,则一切正常:项目在没有警告的情况下完成,然后进行分析。如果至少有一个 FxCop,则构建失败:

V:\JenkinsWkFolder\Test\.sonarqube\bin\targets\SonarQube.Integration.targets(402,5): error : FxCop must be installed when some of its rules are enabled in the SonarQube quality profile. FxCop is included as part of Visual Studio. [V:\JenkinsWkFolder\Test\CSharpConsoleApp\CSharpConsoleApp.csproj]

Done Building Project "V:\JenkinsWkFolder\Test\CSharpConsoleApp\CSharpConsoleApp.csproj" (Rebuild target(s)) -- FAILED.
Done Building Project "V:\JenkinsWkFolder\Test\CITest.sln" (rebuild target(s)) -- FAILED.

Build FAILED.

"V:\JenkinsWkFolder\Test\CITest.sln" (rebuild target) (1) ->
"V:\JenkinsWkFolder\Test\CSharpConsoleApp\CSharpConsoleApp.csproj" (Rebuild target) (2) ->
(FailIfFxCopNotInstalled target) -> 
  V:\JenkinsWkFolder\Test\.sonarqube\bin\targets\SonarQube.Integration.targets(402,5): error : FxCop must be installed when some of its rules are enabled in the SonarQube quality profile. FxCop is included as part of Visual Studio. [V:\JenkinsWkFolder\Test\CSharpConsoleApp\CSharpConsoleApp.csproj]

    0 Warning(s)
    1 Error(s)

FxCop 安装在构建服务器上,而 Visual Studio 没有。MsBuildSonarRunner 在哪里寻找 FxCop 可执行文件?

我不知道您是否需要其他信息,请随时询问更多详细信息。提前致谢。此致,

马里奥。

4

1 回答 1

2

SonarQube 仅支持 MSBuild 14 和 FxCop 14(MSBuild 12/FxCop 12 将很快被弃用)。

不幸的是,当从 VisualStudio 单独安装 MSBuild 工具时,FxCop 没有与 MSBuild 一起安装。要获得 FxCop 14,您必须安装 Visual Studio 2015(FxCop 10 是最后一个可以独立安装的版本)。在互联网上,您可以找到在没有 VS2015 的情况下手动安装 FxCop 14 的方法,但这不是 Microsoft 官方程序。

于 2016-02-04T10:03:04.017 回答