Размещенный в DevOps конвейер не может собрать.NET Core 2.2

С выпуском.NET Core 2.2 я ожидал, что смогу создавать такие проекты в нашем конвейере DevOps (Azure), размещенном в Microsoft. Но шаг восстановления завершается неудачно, говоря, что 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]

Проект строится нормально локально, поэтому я думаю, что, скорее всего, я что-то упустил - тем более, что я ничего не нашел в своем поиске в интернете подобных ошибок.

Неужели это еще не поддерживается?

4 ответа

Итак, есть задача ".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)'

У меня была такая же проблема с моим конвейером. Вот решение:

  1. Добавьте к своей работе (нажмите кнопку "плюс") в конвейере задачу .NET Core SDK Installer. Вы можете найти его в окне поиска

  2. Убедитесь, что поставили эту задачу на вершину своей работы. Вы можете использовать перетаскивание.

  1. Установите версию.Net Core SDK Installer как минимум на ту же версию, что и ваша.

Вы можете увидеть все доступные версии, нажав на слово " здесь " во всплывающем окне.

Ответ @bit0001 правильный. У Microsoft есть список поддерживаемых версий, которые можно установить с помощью этой задачи. Вы можете найти эти версии здесь.

Как видите, 2.1.500 поддерживается при установке sdk, 2.1.0 нет, вам нужно использовать 2.1.300. При установке только среды выполнения вы можете использовать 2.1.0. В настоящее время поддерживается последняя версия 2.2 - 2.2.100.

Другие вопросы по тегам