【问题标题】:SonarQube MSBuild version warningSonarQube MSBuild 版本警告
【发布时间】:2017-05-19 19:53:43
【问题描述】:

我正在 teamcity 中运行 C# 构建,其中包括使用 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,sn-p 中的第一行表明问题是因为使用了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 插件是否仅使用声纳扫描仪,还是我可以更改的其他东西?

【问题讨论】:

    标签: c# msbuild sonarqube teamcity


    【解决方案1】:

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

    我们没有与 TeamCity 进行本机集成,但这不应该阻止您使用 Scanner for MsBuild。它是 simple command line application,因此您可以在 TeamCity 命令行构建步骤中调用 beginend 步骤。

    顺便说一句,您会看到 msbuild12 警告,因为 SonarScanner 仅按文件分析运行文件,这与使用您指定的 msbuild 的 Scanner for MsBuild 相反。在 MsBuild14 的情况下,您可以从 Roslyn 的所有优点中受益,而在 MsBuild12 的情况下,我们会回退到文件分析。

    【讨论】:

    • 您好,感谢您的建议,我已经按照您的建议安装并运行了命令行应用程序,但是我收到错误 SonarQube was unable to collect the required information about your projects 并且建议的可能原因不相关。我在哪里可以找到声纳日志以获取更多调试信息?
    • 您能否确保在运行 Scanner for MsBuild 之前导航到解决方案文件夹。日志和大部分收集的数据位于解决方案旁边的 .sonarqube 文件夹中。我怀疑您从一个文件夹启动了 MsBuild 扫描仪,然后导航到您的解决方案并在那里开始构建。
    • 我根本不移动文件夹,当我查看.sonarqube 时,有一个out 文件夹只包含文件,ProjectInfo.log 和 summary.md 都没有任何用处
    • 你还有 bin 和 conf 文件夹吗? out文件夹中是否还有任何项目特定的文件夹?
    • 你能在你的本地机器上从命令行运行这个分析吗(只是为了去掉 TeamCity)?您可以按照此处的说明进行操作:docs.sonarqube.org/display/SCAN/From+the+Command+Line
    猜你喜欢
    • 2016-05-10
    • 2017-12-08
    • 2016-08-22
    • 1970-01-01
    • 2015-02-14
    • 2016-05-14
    • 2016-07-01
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多