只有 msbuild 14 或 msbuild 15 支持 SonarQube 分析

Posted

技术标签:

【中文标题】只有 msbuild 14 或 msbuild 15 支持 SonarQube 分析【英文标题】:SonarQube Analysis is only supported with msbuild 14 or msbuild 15 【发布时间】:2019-12-16 23:28:20 【问题描述】:

当我尝试为我的 dotnet 代码(版本 2.2)运行以下命令时

dotnet sonarscanner begin /k:"project-key" 
dotnet build <path to solution.sln>
dotnet sonarscanner end 

我在 dotnet-scanner 版本 == 4.3.1 的构建步骤中得到(SonarQube 分析仅支持 msbuild 14 或 msbuild 15)

【问题讨论】:

对于“dotnet code”是指“dotnet core”或“dotnet framework”。在撰写本文时,.NET core 2.2 已停产Download .NET Core。 “dotnet-scanner 版本”是 SonarQube 分析工具的版本吗?根据SonarScanner for MSBuild 仅列出版本 4.7、4.7.1 和 4.8 的先决条件,它们都支持 .NET core 2.0+。 【参考方案1】:

将 dotnet-scanner 升级到最新版本,问题将得到解决。

【讨论】:

【参考方案2】:

如果您已经安装了 Visual Studio 2019 社区,这里是解决方案。

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin

【讨论】:

这本来是分阶段要求作者按照建议安装当前版本的Visual Studio,2019社区版,安装了版本MSBuild 16 MSBuild,但不清楚作者使用的是哪个版本。

以上是关于只有 msbuild 14 或 msbuild 15 支持 SonarQube 分析的主要内容,如果未能解决你的问题,请参考以下文章

如何在批处理文件中调用设置为“C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe”的变量?

2017年TFS - VS 2017 15.5更新后默认为MSBuild 14。需要MSBuild 15回来

查询对象类型和 MSBuild 14 的模式匹配

未能从程序集 C:Program Files (x86)MSBuild14.0inMicrosoft.Data.Entity.Build.Tasks.dll 加载任务“EntityClea(示例代码

只有在 CCNET 中调用 MSBuild 时才会出现“OutputPath 属性未设置”错误

Docs-VisualStudio-MSBuild-MSBuild参考:MSBuild 命令行参考