【问题标题】:DevOps hosted pipeline fail to build .NET Core 2.2DevOps 托管管道无法构建 .NET Core 2.2
【发布时间】:2018-12-11 15:25:13
【问题描述】:

通过release of .NET Core 2.2,我希望能够在我们由 Microsoft 托管的 DevOps (Azure) 管道中构建此类项目。但是还原步骤失败,说不支持2.2:

2018-12-11T14:57:49.0856135Z        "D:\a\1\s\My.Project\My.Project.csproj" (Restore target) (1) ->
2018-12-11T14:57:49.0857867Z        "D:\a\1\s\MyProject.EntityFramework\MyProject.EntityFramework.csproj" (_GenerateRestoreGraphProjectEntry target) (2:3) ->
2018-12-11T14:57:49.0858029Z        (_CheckForUnsupportedNETCoreVersion target) -> 
2018-12-11T14:57:49.0858191Z          C:\Program Files\dotnet\sdk\2.1.402\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets(137,5): error NETSDK1045: The current .NET SDK does not support targeting .NET Core 2.2.  Either target .NET Core 2.1 or lower, or use a version of the .NET SDK that supports .NET Core 2.2. [D:\a\1\s\MyProject.EntityFramework\MyProject.EntityFramework.csproj]
2018-12-11T14:57:49.0858287Z 
2018-12-11T14:57:49.0858338Z 
2018-12-11T14:57:49.0858398Z        "D:\a\1\s\My.Project\My.Project.csproj" (Restore target) (1) ->
2018-12-11T14:57:49.0858504Z        "D:\a\1\s\My.Project\My.Project.csproj" (_GenerateRestoreGraphProjectEntry target) (1:5) ->
2018-12-11T14:57:49.0858645Z          C:\Program Files\dotnet\sdk\2.1.402\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets(137,5): error NETSDK1045: The current .NET SDK does not support targeting .NET Core 2.2.  Either target .NET Core 2.1 or lower, or use a version of the .NET SDK that supports .NET Core 2.2. [D:\a\1\s\My.Project\My.Project.csproj]

该项目在本地构建良好,所以我认为我很可能遗漏了一些东西 - 特别是当我在互联网上搜索类似错误时一无所获。

难道真的还不支持?

【问题讨论】:

  • 2.1.402你的问题
  • 正确,但这是 Microsoft 在 Azure 中托管的构建代理。我无法控制它,但我希望 MS 能够支持最新最好的。
  • 您在管道中使用什么图像?
  • 微软没有罐装“Hosted VS2017”。
  • 2.2 不是 LTS 版本,所以它是最新的但不是“最伟大的”dotnet.microsoft.com/platform/support-policy

标签: .net-core azure-devops azure-pipelines devops azure-devops-hosted-agent


【解决方案1】:

好的,所以可以在还原任务之前添加一个任务“.NET Core Installer”,并通过请求首先安装 2.2.100 来安装所有构建通道。

【讨论】:

  • 该任务现在称为 ".NET Core SDK Installer" 。对于任何寻找 2.1 有效版本的人,我发现 2.1.500 可以工作。惊讶于 2.1.0 和 2.2.0 都不存在。
  • What a PITA...首先托管代理应该已经安装了 2.2,其次微软确实需要以某种方式在 UI 中显示类似的东西——我不应该求助于谷歌和 SO ://
【解决方案2】:

这对我的项目有影响:

steps:
- task: DotNetCoreInstaller@0
  displayName: 'Use .NET Core SDK Tool Installer'
  inputs:
    version: 2.2.100
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'

【讨论】:

    【解决方案3】:

    我的管道也遇到了同样的问题。这是解决方案:

    1. 在管道任务 .NET Core SDK 安装程序中添加到您的工作(按加号按钮)。您可以在搜索框中搜索

    2. 确保将该任务放在工作的首位。您可以使用拖放操作。

    1. 设置 .Net Core SDK Installer 的版本至少与您的版本相同。

    您可以在弹出窗口中按“here”字样查看所有可用版本

    【讨论】:

      【解决方案4】:

      @bit0001 的答案是正确的。 Microsoft 有一个可以使用此任务安装的受支持版本列表。你可以找到那些版本here

      如您所见,安装sdk时支持2.1.500,2.1.0不支持,您需要使用2.1.300。仅安装运行时时,可以使用 2.1.0。目前支持的最新2.2版本是2.2.100。

      【讨论】:

      • 链接不再有效
      • 根据@lance 的要求修复了链接
      猜你喜欢
      • 1970-01-01
      • 2021-12-28
      • 2020-01-01
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 2021-01-21
      • 2020-06-08
      • 2021-02-27
      相关资源
      最近更新 更多