我使用以下配置在构建服务器上构建和分析示例C#项目:
我在Jenkins Job中添加了以下步骤:
如果在默认的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可执行文件?
我不知道您是否需要其他信息,请随时询问更多详情。 提前致谢。 最诚挚的问候,
马里奥。
答案 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官方程序。