.Net Core 3.1 еще не поддерживается в размещенных агентах Azure Pipelines? Получение NETSDK1045

15

Хорошо, что вышел .Net Core 3.1 , но я не уверен, что размещенные агенты Azure Pipelines подхватили.

Мой конвейер YAML указывает:

pool:
  vmImage: 'windows-latest'

и dotnet restoreшаг делает это:

(Цель _CheckForUnsupportedNETCoreVersion) -> C: \ Program Files \ dotnet \ sdk \ 3.0.100 \ Sdks \ Microsoft.NET.Sdk \ target \ Microsoft.NET.TargetFrameworkInference.targets (127,5): ошибка NETSDK1045: текущий .NET SDK не поддерживает таргетинг .NET Core 3.1. Либо предназначайтесь для .NET Core 3.0 или ниже, либо используйте версию .NET SDK, которая поддерживает .NET Core 3.1. [D: \ а \ 1 \ s \ StatsNZ.BESt.DataService \ StatsNZ.BESt.DataService.csproj]

отлично работает в .Net Core 3.0.

Есть ли какие-то обходные пути или нам нужно подождать, пока Azure DevOps наверстает упущенное?

эд
источник
1
stackoverflow.com/questions/56574113/… посмотрите здесь
Владимир

Ответы:

37

.Net Core 3.1 еще не поддерживается в размещенных агентах Azure Pipelines?

Нет, размещенные агенты Azure Pipelines поддерживают .Net Core 3.1, но последнее ядро ​​.net 3.1.100в настоящее время не установлено по умолчанию в размещенных агентах Azure Pipelines.

Вы можете проверить Azure Pipelines Hosted Windows 2019 с образом VS2019 , по умолчанию установлена ​​последняя версия ядра .net 3.0.100.

Чтобы использовать .net core 3.1, вы можете добавить задачу Use .NET Core для установки .net core 3.1.100:

введите описание изображения здесь

введите описание изображения здесь

Надеюсь это поможет.

Лео Лю-МСФТ
источник
Похоже, у вас есть опыт работы с конвейером Azure Devops, я пытаюсь внедрить sonarqube в конвейер. Но это всегда терпит неудачу, потому что версия java Jdk должна быть 8 или 11. Как я могу изменить версию java jdk в моем конвейере?
Мохамад Мусхайм
Я получил эту ошибку для версии 3.1.2 [ошибка] соответствия версии SDK: не удалось найти версию 3.1.2 Ссылка на изображение: imgur.com/a/qYeSnwV
Прамил Гаванде
3.1.2 SDK нет, это просто среда выполнения в этой версии. Последний SDK на этот комментарий 3.1.102.
CodeThief
Когда я пытаюсь использовать Use .NET Coreзадачу для сборки с 3.1, эта задача успешно выполняется. Но когда он входит в Build Solutionзадачу, он все еще не может увидеть 3.1 SDK и не работает.
Panzercrisis
7

Добавьте шаг для установки .NET Core SDK перед вызовом сборки dotnet.

steps:
- task: UseDotNet@2
  displayName: 'Install .NET Core sdk'
  inputs:
    packageType: sdk
    version: 3.1.100
    installationPath: $(Agent.ToolsDirectory)/dotnet

Работаем и проверяем с ubuntu-latest.

Бернард Вандер Бекен
источник
1
У меня есть задание по установке .NET Core SDK 3.1 (я копирую / вставляю ваш код), и он возвращает: «Успешно установлен NET Core 3.1.100 SDK». Следующее задание (зависит от первого) все еще использует SDK 3.0.xx и завершается неудачно. alex75.visualstudio.com/Cryptocurrencies/_build/…
Алекс 75
2
Это полностью решило мою проблему и позволило мне остаться ubuntu-latest.
JamesQMurphy
1
@ Alex75 Та же самая проблема здесь, кажется, она просто игнорирует задачу UseDotNet @ 2 и использует 3.0 SDK, странно ...
jjxtra
Странно, я понятия не имею, почему это работает для некоторых людей (включая меня), а не для других.
Бернард Вандер Бекен
0

Если вы используете изображение «windows-latest», вы сможете использовать команды dotnet. Я изменил его с 'ubuntu-latest' на 'windows-latest', и он работал нормально.

Джон Кесингер
источник