SonarQube MSBuild版本警告

时间:2017-01-05 10:09:29

标签: c# msbuild sonarqube teamcity

我在teamcity中运行C#build,其中包括使用Sonar分析我的代码的步骤。

但是,我总是在声纳构建日志中收到警告。

INFO  - SonarAnalyzer.Scanner needs to be executed: true
        ***********************************************************************************
WARN  - *                 Use MSBuild 14 to get the best analysis results                 *
WARN  - * The use of MSBuild 12 or the sonar-scanner to analyze C# projects is DEPRECATED *
WARN  - ***********************************************************************************

现在我知道该项目不使用MSBuild 12,并且该代码段中的第一行表明该问题是因为sonar-scanner已被使用。

如何避免使用声纳扫描仪,并使用MSBuild 14?

以下是我的软件版本:

Teamcity version 10.0.4
SonarQube version 6.2
Sonar C# plugin version 5.5.2.537
sonar-plugin for teamcity compiled from source as of 4th Jan 2017

TeamCity Sonar插件只使用声纳扫描仪还是其他我可以改变的东西?

1 个答案:

答案 0 :(得分:1)

SonarQube TeamCity插件是一个社区,它似乎直接使用SonarScanner。这并不理想,因为.NET项目可能具有复杂的构建设置,并且SonarScanner本身无法处理各种msbuild目标。 .NET项目应该由SonarQube Scanner for MsBuild进行分析,simple command line application将项目结构处理委托给MsBuild本身。

我们没有与TeamCity进行原生集成,但这不应该阻止您使用Scanner for MsBuild。它是{{3}},因此您可以在TeamCity命令行构建步骤中调用beginend步骤。

顺便说一下,你看到了msbuild12警告,因为SonarScanner只运行文件分析,而不是使用Scanner for MsBuild进行文件分析,后者使用你指定的任何msbuild。对于MsBuild14,您可以从Roslyn的所有好东西中受益,如果是MsBuild12,我们会通过文件分析回退到文件中。