【问题标题】:SonarQube with .NET Core 1.1SonarQube 与 .NET Core 1.1
【发布时间】:2017-09-29 17:48:33
【问题描述】:

在我的团队完全迁移到使用 SonarQube 的 .NET Core 1.0 之后,我有点想不通了,但后来我读到 Running SonarQube against an ASP.Net Core solution/project,其中指出,使用 Core 1.1,从 project.json 迁移到 .csproj 可能可以使用 MSBUILD 构建项目并对代码运行 SonarQube 分析。

有人能解决这个问题吗?在我们将其中一个解决方案升级到 Core 1.1 后,我一直在尝试让 SonarQube 分析此代码。

如果尝试同时使用 msbuild /t:rebuild 和不同的变体 dotnet msbuild

在 Sonar 分析期间构建项目,但除了 SonarQube 以外都没有产生任何东西,响应标准“确保构建成功并且所有 SonarQube 命令从同一文件夹运行”错误。

尽管msbuild /t:rebuild 确实返回“构建成功”。

【问题讨论】:

    标签: .net-core msbuild sonarqube


    【解决方案1】:

    这里有两个方面:

    • 在 Microsoft 方面:我相信 .csproj 现在是事实上的格式(参见 Q&A)。旧格式(.xprojproject.json)应使用 VS2017 工具集迁移到 csproj
    • 在 SonarQube 方面:从Scanner for MSBuild v2.3 开始支持 .Net Core 项目

    【讨论】:

    • 太棒了!谢谢。我正在寻找有关 msbuild 的新扫描程序是否支持 .net 核心的信息,但不知何故我没有找到您链接的站点。谢谢:)
    • @XtianGIS:微软本身似乎在弃用 xproj 格式,请参阅我的回答中链接的问答。
    • @NicolasB.-SonarSourceTeam 你是对的,但它们在 2.0 版中已被弃用,我目前有 netcore 1.1 的项目,它们是 .xproj 格式
    • 如果您的解决方案包含网络标准项目,您至少需要 v4.x 版本的 SonarQube.Scanner.MSBuild.exe。
    【解决方案2】:

    我一直在寻找相同的答案,但它与以前的版本相同。

    我有这三个步骤来做同样的事情。 安装 .net core frameworkdotnet core cli 时会出现 dotnet msbuild。

    主要区别是我们必须使用“dotnet msbuild”而不是“MsBuild”。

    SonarQube.Scanner.MSBuild.exe begin /k:"org.sonarqube:sonarqube-scanner-msbuild" /n:"<yourprojectname>" /v:"<version>"
    
    *dotnet msbuild* "<Path to your .net core project>\ConsoleAppForSonar.sln"
    
    SonarQube.Scanner.MSBuild.exe end
    

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2018-08-03
      • 2017-10-04
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-20
      • 1970-01-01
      相关资源
      最近更新 更多