必须安装FxCop错误

时间:2016-02-02 17:28:08

标签: jenkins sonarqube fxcop sonarqube-msbuild-runner

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

  • Jenkins 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可执行文件?

我不知道您是否需要其他信息,请随时询问更多详情。 提前致谢。 最诚挚的问候,

马里奥。

1 个答案:

答案 0 :(得分: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官方程序。