带有 MsBuild 的 SonarQube:sonar.cs.analyzer.projectOutPaths 不会为此项目加载任何 protobuf 文件

SonarQube with MsBuild: sonar.cs.analyzer.projectOutPaths no protobuf files will be loaded for this project

我正在 运行将 SonarQube 7.5 与 Sonar Scanner MsBuild 4.5 结合使用,它可以工作,但在 Sonar 上配置的项目上没有可用的结果。让我详细说明我做了什么。

我做了什么

我安装了 SonarQube V7.5 社区并将其作为 Windows 服务启动。我下载了 MsBuild Scanner 4.5 并将此文件夹添加到 Windows 的 PATH 上,以供参考文档。之后,我创建了一个新项目和 运行 虚拟控制台应用程序上的脚本。我在控制台上 运行 的脚本是:

运行 SonarQube 的 BEGIN 步骤

SonarScanner.MSBuild.exe begin 
              /k:"HappyAppKey" 
              /d:sonar.host.url="http://localhost:9000" 
              /d:sonar.login="f3965814e7fdcf4f32e26adc1e69d6f5f851cafc"

运行 MSBUILD 从 sln 文件编译项目

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MsBuild.exe HappyApp.sln /t:Rebuild

运行SonarQube的END步骤分析提交

SonarScanner.MSBuild.exe end 
           /d:sonar.login="f3965814e7fdcf4f32e26adc1e69d6f5f851cafc"

它工作没有错误,我可以在 sonarQube 上看到源代码,但没有错误、气味代码、重复等......在 SonarQube 上可以看到,如下图所示

分析end步骤生成的日志,我可以看到这个警告信息

15:24:48.807 WARN: Property missing: 'sonar.cs.analyzer.projectOutPaths'. No protobuf files will be loaded for this project.
15:24:48.808 WARN: No Roslyn issues report found for this project.

我做错了什么?我应该在项目的文件夹中添加一些东西吗?有什么文件可以配置吗? (这是我第一次使用 SonarQube)。

谢谢。

解决方案:安装正确的 MsBuild 版本(.Net Framework 项目应为 14 或更高版本)。请按照以下步骤操作:

  • 下载并安装此 link
  • 上可用的 Build Tools for Visual Studio 2017
  • 请注意,您现在拥有文件夹 C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.0\Bin
  • 在命令提示符下,导航至文件夹并执行 MsBuild -version,您应该会看到正确的版本:
Microsoft(R) Build Engine versão 15.9.21+g9802d43bc3 para .NET Framework
Copyright (C) Microsoft Corporation. Todos os direitos reservados.

15.9.21.664
  • 如果需要,请在 Windows 的 PATH 上添加文件夹。
  • 使用此 Msbuild.exe 构建您的项目。
SonarScanner.MSBuild.exe begin /k:"MyProjectKey" /d:sonar.verbose=true /d:sonar.host.url="http://localhost:9000" /d:sonar.login="3c8d70d998f72178c7a21c1a83590d8af1f6e014"

MSBuild.exe "D:\temp\MyProject\Project.csproj" /t:Rebuild 

SonarScanner.MSBuild.exe end /d:sonar.login="3c8d70d998f72178c7a21c1a83590d8af1f6e014"

我也有同样的问题。但是我使用了正确版本的 MSBuild。

d:\build\workspace\walls_Build_wb11452\WBServices>d:\build\tools\hudson.plugins.sonar.MsBuildSQRunnerInstallation\Scanner_for_MsBuild_4.6.2\SonarScanner.MSBuild.exe begin /k:project_name /n:project_name /v:"2" /d:sonar.language=cs /d:sonar.sourceEncoding=UTF-8 /d:sonar.host.url="url" /d:sonar.login="******" 
SonarScanner for MSBuild 4.6.2

d:\build\workspace\walls_Build_wb11452\WBServices>"C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild.0\Bin\msbuild.exe" Solution.sln /t:Rebuild /m:2 /p:Configuration=Debug /p:DefineConstants="X64PROCESS;AUTO" 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework

不知道...