SonarQube MSBuild 集成失败 - SonarQube 7 with Scanner 4.0.2.892 和 VS2017
The SonarQube MSBuild integration failed - SonarQube 7 with Scanner 4.0.2.892 and VS2017
我正在使用 SonarQube 7.0 和 SonarQube Scanner for MSBuild 4.0.2.892 并尝试按照 these instructions 扫描我在 Windows (ASP.NET Core) 上的 .NET 应用程序。以下三个命令是说明的一部分:
C:\SonarQube\Scanner\SonarQube.Scanner.MSBuild.exe begin /k:"org.sonarqube:sonarqube-scanner-msbuild" /n:"TradingPlatform" /v:"1.0"
"C:\Program Files (x86)\Microsoft Visual Studio17\Community\MSBuild.0\Bin\MSBuild.exe" /t:Rebuild
C:\SonarQube\Scanner\SonarQube.Scanner.MSBuild.exe end
然而,虽然预处理在第一个命令上成功,并且构建在第二个命令上完成,但第三个命令总是失败,如下所示:
====
适用于 MSBuild 4.0.2 的 SonarQube 扫描器
默认属性文件位于 C:\SonarQube\Scanner\SonarQube.Analysis.xml
正在从 C:\SonarQube\Scanner\SonarQube.Analysis.xml
加载分析属性
Post-处理开始。
SonarQube MSBuild 集成失败:SonarQube 无法收集有关您的项目的所需信息。
可能的原因:
- 项目尚未构建 - 必须在开始和结束步骤之间构建项目
- 已使用不受支持的 MSBuild 版本来构建项目。目前支持 MSBuild 14.0 以上版本
- 开始、构建或结束步骤并未全部从同一文件夹启动
声纳属性文件生成失败。无法完成 SonarQube 分析。
退出代码 1。
====
有谁知道它失败的原因吗?原因 1 不可能是这种情况,因为我正在步骤 2 中构建项目。原因 2 似乎不太可能(但并非不可能),因为我使用的是 MSBuild 15。原因 3 也不是这种情况,因为我是运行 来自同一位置的所有三个命令
其他可能的原因是:
- 您的构建服务器正在使用本地系统帐户执行构建。尝试将构建用户更改为普通域或本地用户。
- 您正在构建一个没有 ProjectGuid 属性(默认值)且不属于解决方案的 .NET Core 项目。要解决此问题,您需要执行以下操作之一:
- 在您的 csproj 的第一个
PropertyGroup
中添加 <ProjectGuid>XXXXX</ProjectGuid>
元素,其中 XXXXX 是新生成的 Guid。
- 将您的项目添加到 Visual Studio 解决方案并构建 sln 文件而不是 csproj
如果这没有帮助,请在扫描程序的 begin
命令中添加 /d:sonar.verbose=true
并将所有日志保存到一个文件中。从您的构建工作区压缩日志和 .sonarqube
文件夹并将它们上传到此处:https://www.dropbox.com/request/CszJAO1ZNXFVl1gwo5hA
我正在使用 SonarQube 7.0 和 SonarQube Scanner for MSBuild 4.0.2.892 并尝试按照 these instructions 扫描我在 Windows (ASP.NET Core) 上的 .NET 应用程序。以下三个命令是说明的一部分:
C:\SonarQube\Scanner\SonarQube.Scanner.MSBuild.exe begin /k:"org.sonarqube:sonarqube-scanner-msbuild" /n:"TradingPlatform" /v:"1.0"
"C:\Program Files (x86)\Microsoft Visual Studio17\Community\MSBuild.0\Bin\MSBuild.exe" /t:Rebuild
C:\SonarQube\Scanner\SonarQube.Scanner.MSBuild.exe end
然而,虽然预处理在第一个命令上成功,并且构建在第二个命令上完成,但第三个命令总是失败,如下所示:
====
适用于 MSBuild 4.0.2 的 SonarQube 扫描器 默认属性文件位于 C:\SonarQube\Scanner\SonarQube.Analysis.xml
正在从 C:\SonarQube\Scanner\SonarQube.Analysis.xml
加载分析属性Post-处理开始。
SonarQube MSBuild 集成失败:SonarQube 无法收集有关您的项目的所需信息。
可能的原因:
- 项目尚未构建 - 必须在开始和结束步骤之间构建项目
- 已使用不受支持的 MSBuild 版本来构建项目。目前支持 MSBuild 14.0 以上版本
- 开始、构建或结束步骤并未全部从同一文件夹启动
声纳属性文件生成失败。无法完成 SonarQube 分析。
退出代码 1。
====
有谁知道它失败的原因吗?原因 1 不可能是这种情况,因为我正在步骤 2 中构建项目。原因 2 似乎不太可能(但并非不可能),因为我使用的是 MSBuild 15。原因 3 也不是这种情况,因为我是运行 来自同一位置的所有三个命令
其他可能的原因是:
- 您的构建服务器正在使用本地系统帐户执行构建。尝试将构建用户更改为普通域或本地用户。
- 您正在构建一个没有 ProjectGuid 属性(默认值)且不属于解决方案的 .NET Core 项目。要解决此问题,您需要执行以下操作之一:
- 在您的 csproj 的第一个
PropertyGroup
中添加<ProjectGuid>XXXXX</ProjectGuid>
元素,其中 XXXXX 是新生成的 Guid。 - 将您的项目添加到 Visual Studio 解决方案并构建 sln 文件而不是 csproj
- 在您的 csproj 的第一个
如果这没有帮助,请在扫描程序的 begin
命令中添加 /d:sonar.verbose=true
并将所有日志保存到一个文件中。从您的构建工作区压缩日志和 .sonarqube
文件夹并将它们上传到此处:https://www.dropbox.com/request/CszJAO1ZNXFVl1gwo5hA