尝试使用MSBuild SonarQube并且无法使其工作

时间:2015-11-20 19:47:34

标签: msbuild sonarqube sonar-runner sonarqube5.1 sonarqube-msbuild-runner

我一直在使用SonarQube进行基本级别的代码分析,但现在我想针对FX-COP规则测量代码。因此我试图使用MSBuild SonarQube扫描仪。我彻底阅读了文档并同样设置了我的项目,但是当我执行它时会给我错误。

以下是日志摘录:

MSBuild SonarQube Runner Bootstrapper 1.0.2.0
Default properties file was found at C:\....\1c36691bf5270463\SonarQube.Analysis.xml
Loading analysis properties from C:\....\1c36691bf5270463\SonarQube.Analysis.xml
Pre-processing started.
Preparing working directories...
Checking for updates...
MSBuild SonarQube Runner Pre-processor 1.0.2.0
Loading analysis properties from C:\...\1c36691bf5270463\SonarQube.Analysis.xml
Updating build integration targets...
Fetching analysis configuration settings...
Generating rulesets...
Pre-processing succeeded.

Microsoft (R) Build Engine version 12.0.21005.1
[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 11/20/2015 1:46:41 PM.
Project "C:\Project1.sln" on node 1 (rebuild target(s)).
ValidateSolutionConfiguration:
 Building solution configuration "Debug|Any CPU".
 Build succeeded.
    9 Warning(s)
    0 Error(s)

Time Elapsed 00:01:07.86
MSBuild SonarQube Runner Bootstrapper 1.0.2.0
Default properties file was found at C:\...\1c36691bf5270463\SonarQube.Analysis.xml
Loading analysis properties from C:\...\1c36691bf5270463\SonarQube.Analysis.xml
Post-processing started.

MSBuild SonarQube Runner后处理器1.0.2.0提供了几个类似下面的警告:

WARNING: File is not under the project directory and cannot currently be analysed
by SonarQube.
 File: C:\Users\...\AppData\Local\Temp\2\.NETFramework,Version=v4.0.AssemblyAttributes.cs,
 project: C:\...\1c36691bf5270463\SOURCE\x\y.csproj**

致电声纳跑者:

SONAR_RUNNER_OPTS is not configured. Setting it to the default value of -Xmx1024m
C:\...\1c36691bf5270463\.sonarqube\bin\sonar-runner\bin\..
SonarQube Runner 2.4
Java 1.8.0_51 Oracle Corporation (64-bit)
Windows Server 2008 R2 6.1 amd64
SONAR_RUNNER_OPTS=-Xmx1024m
INFO: Error stacktraces are turned on.
INFO: Runner configuration file: C:\...\1c36691bf5270463\.sonarqube\bin\sonar-runner\bin\..\conf\sonar-runner.properties
INFO: Project configuration file: C:\TeamCity\buildAgent\work\1c36691bf5270463\.sonarqube\out\sonar-project.properties
INFO: Default locale: "en_US", source code encoding: "UTF-8"
INFO: Work directory: C:\...\1c36691bf5270463\.sonarqube\out\.sonar
INFO: SonarQube Server 5.1.1
13:47:51.150 INFO  - Load global repositories
13:47:51.743 INFO  - Load global repositories (done) | time=593ms
13:47:51.758 INFO  - Server id: 20151120125423
13:47:51.758 INFO  - User cache: C:\...\cache
13:47:51.758 INFO  - Install plugins
13:47:51.836 INFO  - Install JDBC driver
.
.
.
13:47:55.518 INFO  - -------------  Scan file1
13:47:55.534 INFO  - Load module settings
13:47:55.658 INFO  - Load rules
13:47:56.017 INFO  - Base dir: C:\...\1c36691bf5270463\SOURCE\xxx
13:47:56.017 INFO  - Working dir: C:\...\1c36691bf5270463\.sonarqube\out\.sonar\AC1_AC1_497EBFF2-C710-4843-8263-F534AF803D3E
13:47:56.017 INFO  - Source encoding: UTF-8, default locale: en_US
13:47:56.532 INFO  - Quality profile for cs: Sonar way
13:48:00.635 INFO  - Sensor org.sonar.plugins.csharp.CSharpFxCopProvider$CSharpFxCopSensor@73c82ec1
INFO: -----------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: -----------------------------------------------------------------
Total time: 10.156s
Final Memory: 16M/306M
INFO: -----------------------------------------------------------------
13:48:00.791  Creating a summary markdown file...
Press any key to continue . . . 

3 个答案:

答案 0 :(得分:2)

您需要在Visual Studio 2013或更高版本的开发人员命令提示符中运行所有命令,并且:

  • 至少使用MSBuild 12.0
  • 已安装.NET 4.5.2+

您有此错误,因为未生成FxCop结果。 你在MSBuild的日志中看到了FxCop的执行吗?这在MSBuild日志的RunCodeAnalysis部分中可见。

答案 1 :(得分:0)

您需要从命令行运行此命令并在命令中使用“-X”标志,这将为您提供详细的调试,我强烈建议您执行以下操作以进行故障排除。

sonar-runner.exe <arg> <arg> -X > sonar-runnerLog.txt

然后在此处读取或转储该日志。无论哪种方式,你都会更多地了解实际问题。

答案 2 :(得分:-1)

您可以免费获得Visual Studio Express 2013(或15),这两者都带有各自的开发人员命令提示。