簡體   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