繁体   English   中英

SonarQube MSBuild集成失败-具有Scanner 4.0.2.892和VS2017的SonarQube 7

[英]The SonarQube MSBuild integration failed - SonarQube 7 with Scanner 4.0.2.892 and VS2017

我将SonarQube 7.0和SonarQube Scanner用于MSBuild 4.0.2.892,并尝试按照以下说明在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 Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe" /t:Rebuild
C:\SonarQube\Scanner\SonarQube.Scanner.MSBuild.exe end

但是,尽管在fist命令上预处理成功,并且在第二条命令上构建完成,但是第三条命令始终失败,如下所示:

====

用于MSBuild 4.0.2的SonarQube扫描仪默认属性文件位于C:\\ SonarQube \\ Scanner \\ SonarQube.Analysis.xml

从C:\\ SonarQube \\ Scanner \\ SonarQube.Analysis.xml加载分析属性

后处理开始。

SonarQube MSBuild集成失败:SonarQube无法收集有关您的项目的必需信息。

可能的原因:

  1. 该项目尚未构建-必须在开始和结束步骤之间构建该项目
  2. 使用了不支持的MSBuild版本来生成项目。 当前支持MSBuild 14.0或更高版本
  3. 尚未从同一文件夹启动所有开始,构建或结束步骤

声纳属性文件的生成失败。 无法完成SonarQube分析。

退出代码1。

====

有谁知道为什么它会失败? 由于在步骤2中构建项目时,原因1不可能是这种情况。由于使用MSBuild 15,原因2似乎不太可能(但并非不可能),因为我使用MSBuild 15时,原因3也不可能这样。从同一位置运行所有三个命令

其他可能的原因是:

  • 您的构建服务器正在使用本地系统帐户执行构建。 尝试将生成用户更改为普通域或本地用户。
  • 您正在构建的.NET Core项目没有ProjectGuid属性(默认设置),并且不属于解决方案。 要解决此问题,您需要执行以下一项操作:
    • 在csproj的第一个PropertyGroup中添加<ProjectGuid>XXXXX</ProjectGuid>元素,其中XXXXX是新生成的Guid。
    • 将您的项目添加到Visual Studio解决方案,并生成sln文件而不是csproj

如果这样做没有帮助, /d:sonar.verbose=true在扫描仪的begin命令上添加/d:sonar.verbose=true并将所有日志保存到文件中。 从您的构建工作区压缩日志和.sonarqube文件夹,并将其上传到此处: https : .sonarqube

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM