正在尝试使用MSBuild SonarQube,但无法使其工作

正在尝试使用MSBuild SonarQube,但无法使其工作,msbuild,sonarqube,sonar-runner,sonarqube5.1,sonarqube-msbuild-runner,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.

我一直在使用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 . . . 

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

  • 至少使用MSBuild 12.0
  • 已安装.NET 4.5.2+
出现此错误是因为未生成FxCop结果。
您是否在MSBuild的日志中看到FxCop的执行?这在MSBuild日志的RunCodeAnalysis部分中可见。

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

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

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

然后读取或将日志转储回此处。无论采用哪种方法,您都会对实际问题有更多了解。

您需要在SonarQube.Analysis.xml(位于SQ Scanner for MSBuild的conf目录中)中将sonar.verbose属性添加为true来运行“开始”阶段,或者使用/d直接在命令行中设置它(请参阅)。这将允许您在“结束”阶段查看有关CSharpFxCopSensor中错误的更多详细信息。谢谢。cmd windows上的错误“必须设置属性sonar.cs.fxcop.assembly,并且必须已构建项目……”我已经阅读了许多关于此错误的帖子,并且已经做了主要的一切来解决它,但它仍然存在。我正在使用一个带有批处理文件的普通命令窗口,该批处理文件包含以下命令:begin/k:“AC1”/n:“Project1”/v:“1.0”/d:sonar.host.url=>>log.txt
MSBuild.exe Project1.sln/t:rebuild>>log.txt
MSBuild.sonaqbe.Runner.exe end>>log.txt
版本的MSBuild-12。正确设置路径。ThanksI已验证msbuild和dot net版本为12和4.5.2。我正在我的CI计算机上运行分析(使用TeacCity)。我是否需要在生成计算机上安装VS2013才能获得VS2013命令提示符?由于许可问题,我无法在此特定服务器上安装Visual Studio 2013。还有别的出路吗?这与使用Windows SDK 7.1命令提示符相同吗?自版本10起,FxCop停止作为独立下载提供。它现在作为VisualStudio的一部分发布。因此,如果要执行FxCop规则,必须在构建代理上安装Visual Studio。