SonarQube扫描仪抛出错误

时间:2017-10-06 15:12:50

标签: asp.net visual-studio-2012 sonarqube sonar-runner sonarqube-scan

我要求使用SonarQube来分析.NET项目。我安装了sonarqube-5.6.7,一切正常,但是当我使用MSBuild.SonarQube.Runner.exe构建.net解决方案时出现问题。解决方案是成功构建,但在向Sonar服务器发送报告时收到错误。

请注意,我使用的是带有4.5.2框架的Visual Studio 2012项目,我不使用TFS甚至Jenkins。

  • SonarQube.Scanner.MSBuild.exe begin /k:"key" /n:"Project name" /v:"1.0" - 此步骤似乎正常。

  • MSBuild.exe /t:Rebuild - 此步骤似乎正常。

  • SonarQube.Scanner.MSBuild.exe end - 此步骤失败。

失败步骤的输出:

D:\...>SonarQube.Scanner.MSBuild.exe end
SonarQube Scanner for MSBuild 3.1
Default properties file was found at C:\Users\xxxx\Downloads\sonarqube-5.6.7
\bin\SonarQube.Analysis.xml

Loading analysis properties from C:\Users\xxx\Downloads\sonarqube-5.6.7\bin
\SonarQube.Analysis.xml

Post-processing started.

The SonarQube MSBuild integration failed: SonarQube was unable to collect the re
quired information about your projects.

Possible causes:

  1. The project has not been built - the project must be built in between the b
egin and end steps

  2. An unsupported version of MSBuild has been used to build the project. Curre
ntly MSBuild 14.0 upwards are supported

  3. The begin, build or end steps have not all been launched from the same fold
er

Generation of the sonar-properties file failed.     
Unable to complete SonarQube analysis.    
15:29:11.087  Creating a summary markdown file...    
15:29:11.1  Post-processing failed. Exit code: 1

有谁能让我知道我错过了什么?

如下所示,我下载了" sonar-scanner-msbuild-2.3.2.573.zip"并尝试重建目标框架版本为4.5.2的Visual Studio 2012项目,并获得以下错误。我尝试使用MSBuild 12的直接路径构建,并且没有给出MSBuild完整路径但仍然得到错误。

D:\test\test>C:\Users\xxxx\Downloads\sonarqube-5.6.7\bin\SonarQube.Scanner.M
SBuild.exe begin /k:"org.sonarqube:sonarqube-scanner-msbuild" /n:"Test Project"
/v:"1.0"

SonarQube Scanner for MSBuild 2.3.2
Default properties file was found at C:\Users\xxxx\Downloads\sonarqube-5.6.7
\bin\SonarQube.Analysis.xml

Loading analysis properties from C:\Users\xxxx\Downloads\sonarqube-5.6.7\bin
\SonarQube.Analysis.xml

Pre-processing started.

Preparing working directories...

11:23:11.818  Updating build integration targets...

11:23:11.863  Fetching analysis configuration settings...

11:23:13.712  Generating rulesets...

11:23:13.776  Provisioning analyzer assemblies for cs...

11:23:13.778  Installing required Roslyn analyzers...

11:23:13.992  Pre-processing succeeded.

D:\test\test>MSBuild.exe /t:Rebuild

Microsoft (R) Build Engine version 4.0.30319.34209
[Microsoft .NET Framework, version 4.0.30319.34209]
Copyright (C) Microsoft Corporation. All rights reserved.

Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.

Build started 09/10/2017 11:23:29.
Project "D:\test\test\test.sln" on node 1 (Rebuild target(s)).

ValidateSolutionConfiguration:
  Building solution configuration "Debug|Any CPU".

Project "D:\test\test\test.sln" (1) is building "D:\test\test\test\test.csproj"
 (2) on node 1 (Rebuild target(s)).

CoreClean:
  Deleting file "D:\test\test\test\bin\test.dll".
  Deleting file "D:\test\test\test\bin\test.pdb".
  Deleting file "D:\test\test\test\obj\Debug\test.csprojResolveAssemblyReferenc
  e.cache".
  Deleting file "D:\test\test\test\obj\Debug\test.dll".
  Deleting file "D:\test\test\test\obj\Debug\test.pdb".
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output fi
les are up-to-date with respect to the input files.
CoreCompile:
  C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,
  1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE /highentropyv
  a+ /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framewor
  k\.NETFramework\v4.5.2\Microsoft.CSharp.dll" /reference:"C:\Program Files (x8
  6)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\mscorlib.dll
  " /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework
  \.NETFramework\v4.5.2\System.ComponentModel.DataAnnotations.dll" /reference:"
  C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework
  \v4.5.2\System.Configuration.dll" /reference:"C:\Program Files (x86)\Referenc
  e Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Core.dll" /refer
  ence:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFra
  mework\v4.5.2\System.Data.DataSetExtensions.dll" /reference:"C:\Program Files
   (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.D
  ata.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Fr
  amework\.NETFramework\v4.5.2\System.dll" /reference:"C:\Program Files (x86)\R
  eference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Drawing.d
  ll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framewo
  rk\.NETFramework\v4.5.2\System.EnterpriseServices.dll" /reference:"C:\Program
   Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\Sy
  stem.Web.ApplicationServices.dll" /reference:"C:\Program Files (x86)\Referenc
  e Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Web.dll" /refere
  nce:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFram
  ework\v4.5.2\System.Web.DynamicData.dll" /reference:"C:\Program Files (x86)\R
  eference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Web.Entit
  y.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Fram
  ework\.NETFramework\v4.5.2\System.Web.Extensions.dll" /reference:"C:\Program
  Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\Sys
  tem.Web.Services.dll" /reference:"C:\Program Files (x86)\Reference Assemblies
  \Microsoft\Framework\.NETFramework\v4.5.2\System.Xml.dll" /reference:"C:\Prog
  ram Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2
  \System.Xml.Linq.dll" /debug+ /debug:full /optimize- /out:obj\Debug\test.dll
  /subsystemversion:6.00 /target:library /utf8output Properties\AssemblyInfo.cs
   "C:\Users\xxxx\AppData\Local\Temp\.NETFramework,Version=v4.5.2.AssemblyA
  ttributes.cs"
CopyFilesToOutputDirectory:
  Copying file from "obj\Debug\test.dll" to "bin\test.dll".
  test -> D:\test\test\test\bin\test.dll
  Copying file from "obj\Debug\test.pdb" to "bin\test.pdb".
Done Building Project "D:\test\test\test\test.csproj" (Rebuild target(s)).

Done Building Project "D:\test\test\test.sln" (Rebuild target(s)).


Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.71

D:\test\test>C:\Users\xxxx\Downloads\sonarqube-5.6.7\bin\SonarQube.Scanner.M
SBuild.exe end

SonarQube Scanner for MSBuild 2.3.2

Default properties file was found at C:\Users\xxxx\Downloads\sonarqube-5.6.7
\bin\SonarQube.Analysis.xml

Loading analysis properties from C:\Users\xxxx\Downloads\sonarqube-5.6.7\bin
\SonarQube.Analysis.xml

Post-processing started.
The SonarQube MSBuild integration failed: SonarQube was unable to collect the re
quired information about your projects.

Possible causes:
  1. The project has not been built - the project must be built in between the b
egin and end steps

  2. An unsupported version of MSBuild has been used to build the project. Curre
ntly MSBuild 12.0 upwards are supported

  3. The begin, build or end steps have not all been launched from the same fold
er

Generation of the sonar-properties file failed. Unable to complete SonarQube ana
lysis.

11:23:59.124  Creating a summary markdown file...
11:23:59.14  Post-processing failed. Exit code: 1

1 个答案:

答案 0 :(得分:0)

Starting from version 3.0, SonarQube Scanner for MSBuild requires MSBuild 14 or later to work.

似乎你有MSBuild 3.1的SonarQube扫描仪, 但你的项目是用Visual Studio 2012构建的, 它使用MSBuild 12。

您需要:

使用旧版本(2.3.2)时,构建步骤出现问题:

"C:\Program Files (x86)\MSBuild\12.0\Bin\"MSBuild.exe /t:Rebuild

这是必须的,以便能够分析。 根据你的评论,问题就这样解决了:

  

我通过使用目标更新C:\Program Files (x86)\MSBuild\12.0文件夹解决了此问题。我将目标文件夹从MSBuild 4.0复制到MSBuild 12.0,它正在运行。