.net core DevOps托管管道无法生成.NET Core 2.2

.net core DevOps托管管道无法生成.NET Core 2.2,.net-core,azure-devops,azure-pipelines,devops,azure-devops-hosted-agent,.net Core,Azure Devops,Azure Pipelines,Devops,Azure Devops Hosted Agent,有了它,我希望能够在微软托管的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.EntityFr

有了它,我希望能够在微软托管的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]
这个项目在本地构建得很好,所以我认为我很可能遗漏了什么——特别是当我在互联网上搜索类似错误时,没有发现任何东西


是否真的还不支持它?

好的,因此可以在还原任务之前添加一个task“.NET Core Installer”,并且首先请求安装2.2.100以完成所有构建过程

这对我的项目来说确实是个窍门:

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)'

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


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

我的管道也有同样的问题。以下是解决方案:

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

  • 一定要把这项任务放在工作的首位。您可以使用拖放

  • 将.Net Core SDK安装程序的版本设置为至少与您的版本相同

  • 您可以通过按弹出窗口中的“”一词查看所有可用版本

    2.1.402
    这是您的问题,对吧,但这是Microsoft在Azure中托管的构建代理。我无法控制它,但我希望MS能够支持最新和最棒的。您在管道中使用的是什么映像?微软没有发布“Hosted VS2017”。2.2不是LTS版本,因此它是最新但不是“最棒”的任务,现在称为“.NET Core SDK安装程序”。对于任何寻找2.1有效版本的人来说,我发现2.1.500是可行的。惊讶于2.1.0和2.2.0都不存在。多么令人惊讶的一个例子。。。首先,托管代理应该已经安装了2.2,其次,微软真的需要以某种方式在用户界面中显示类似的内容-我不应该求助于谷歌,因此:/Link不再有效。按照@lance的要求,链接已被修复