![](/img/trans.png)
[英]Integrate SonarQube C# ruleset to TeamCity for Code Analysis Build Break
[英]TeamCity with SonarQube for Code Analysis build fails
对于许多用户来说,非常常见的问题是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#功能而失败。
但是我无法摆脱这个错误,我也不知道该怎么办,所以也许你们中的任何一个都已经遇到了这个问题并且可以帮助我吗?
已编辑
我很确定这些步骤都不应该是失败的原因,第二个步骤应该是最接近的步骤,因为我的构建步骤是
Team City的构建步骤如下所示。
步骤XX:
cd %projectDirectory%
"C:\sonarqube-5.3\bin\MSBuild.SonarQube.Runner\MSBuild.SonarQube.Runner.exe" begin ... params
"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\msbuild.exe" "MyProject.sln" /t:Clean;Rebuild
步骤XY:
...
步骤XZ :(最后)
cd %projectDirectory%
"C:\sonarqube-5.3\bin\MSBuild.SonarQube.Runner\MSBuild.SonarQube.Runner.exe" end
对我来说,它看起来非常简单且易于理解,但是仍然出现该错误,我也不知道为什么,该错误在最后一步(XZ)中引发。
您需要升级到适用于MSBuild的扫描仪的较新版本。 我建议升级到最新的可用版本(在撰写本文时为v4.2)。
扫描程序将为每个受支持的MBuild版本在以下位置复制目标文件:%localappdata%\\ Microsoft \\ MSBuild [MSBuild版本] \\ Microsoft.Common.targets \\ ImportBefore。
从日志输出的外观来看,您使用的是MSBuild扫描程序的版本,该版本早于MSBuild 15的发布,因此该文件不会被复制到特定于MSBuild15的位置。 这将导致“未找到ProjectInfo.xml文件”状态。
如果扫描程序日志中的警告消息明确列出了受支持的MSBuild版本范围,则更好,例如“此版本的扫描仪支持MSBuild v12.0至v14.0”。 我创建了问题#502来跟踪此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.