TeamCity with SonarQube for Code Analysis 生成失败



对于许多用户来说,非常常见的问题是SonarQube代码分析失败并显示错误:

[10:06:05]No ProjectInfo.xml files were found. Possible causes: 
[10:06:05]1. The project has not been built - the end step was called right 
after the begin step, without a build step in between 
[10:06:05]2. An unsupported version of MSBuild has been used to build the 
project. Currently MSBuild 12.0 upwards are supported
[10:06:05]3. The build step has been launched from a different working folder
[10:06:05]Post-processing failed. Exit code: 1
[10:06:05]Process exited with code 1

很多参考资料都说修复是使用 MSBuild.exe 的完整路径,但是是的,我使用完整路径,但也使用 MSBuild 15.0 版本和最新的 C# 版本,较旧的 MSBuild 只是代码中的新 C# 功能失败。

但是我无法摆脱这个错误,我不知道可以做些什么,所以也许你们中的任何人已经遇到了这个问题,可以帮助我?

编辑

我很确定这些步骤都不应该是失败的原因,第二个只是最接近的,因为我的构建步骤是

团队城市生成步骤如下所示。

步骤二十:

cd %projectDirectory%
"C:sonarqube-5.3binMSBuild.SonarQube.RunnerMSBuild.SonarQube.Runner.exe" begin   ... params
"C:Program Files (x86)Microsoft Visual Studio2017BuildToolsMSBuild15.0Binmsbuild.exe" "MyProject.sln" /t:Clean;Rebuild

步骤 XY:

...

步骤 XZ:(最后一个(

cd %projectDirectory%
"C:sonarqube-5.3binMSBuild.SonarQube.RunnerMSBuild.SonarQube.Runner.exe" end

对我来说,它看起来非常简单易懂,但我仍然得到了那个错误,我不知道为什么,错误是在最后一步 (XZ( 中抛出的。

您需要升级到较新版本的 MSBuild 扫描程序。我建议升级到最新的可用版本(撰写本文时的 v4.2(。

扫描程序在以下位置为每个受支持的 MBuild 版本复制目标文件:%localappdata%\Microsoft\MSBuild[MSBuild version]\Microsoft.Common.targets\ImportBefore。

从日志输出的外观来看,你使用的是早于 MSBuild 15 版本的 MSBuild 扫描程序版本,因此不会将文件复制到特定于 MSBuild15 的位置。这将导致"找不到项目信息.xml文件"状态。

如果扫描程序日志中的警告消息明确列出支持的 MSBuild 版本范围,例如"此版本的扫描程序支持 MSBuild v12.0 到 v14.0",那就更好了。我已经创建了问题#502来跟踪此问题。

相关内容

最新更新