Сборка .NET Core 3.0 на конвейерах Azure
Да, я знаю .NET Core 3.0 все еще в предварительном просмотре. я хотел бы построить это на конвейерах Azure.
Есть ли простой способ сделать это?
В настоящее время появляется эта ошибка:
/usr/share/dotnet/sdk/2.2.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(137,5): ошибка NETSDK1045: текущий .NET SDK не поддерживает таргетинг .NET Core 3.0. Либо предназначайтесь для .NET Core 2.2 или ниже, либо используйте версию .NET SDK, которая поддерживает .NET Core 3.0.
редактировать
Я нашел официальную документацию об этом:
https://docs.microsoft.com/en-us/azure/devops/pipelines/languages/dotnet-core?view=azure-devops
Ответы
Ответ 1
Вы можете установить .Net core SDK 3.0 во время конвейера с помощью задачи .Net Core SDK :
- task: [email protected]
displayName: 'Install .net core 3.0 (preview)'
inputs:
packageType: sdk
version: '3.0.100-preview6-012264'
installationPath: $(Agent.ToolsDirectory)/dotnet
Я указал последнюю предварительную версию .net core sdk 3.0, вы можете поставить более раннюю версию, вы можете найти здесь список версий.
Другой вариант - указать 3.0.x
и включить предварительный просмотр версий:
version: 3.0.x
includePreviewVersions: true
Результаты установки:
![enter image description here]()
Ответ 2
Вы можете получить последнюю версию .NET Core 3 SDK, указав 3.x вместо конкретной версии. Также обратите внимание на includePreviewVersions: true, который необходим для этой работы.
- task: [email protected]
displayName: 'Use dotnet sdk 3.x'
inputs:
version: 3.x
includePreviewVersions: true
И в итоге вы получите что-то вроде этого:
![enter image description here]()
Источник: Задача установщика .NET Core Tool
Ответ 3
Вы также можете установить SDK через "старый" редактор конвейеров. Добавьте новое задание и найдите ".NET Core SDK Installer". Затем переключите версию вверху на последнюю версию предварительного просмотра, и она предложит вам больше возможностей, например, флажок "Включить предварительный просмотр". Вам все равно придется ввести нужную версию вручную.
![Screenshot of my task:]()
Ответ 4
Вы можете указать версию .net core SDK с помощью Задачи установщика .NET Core Tool. Но я не думаю, что он поддерживает 3.0, но, очевидно, так и есть, поэтому вам, вероятно, нужно создать контейнер с 3.0 и использовать его в качестве среды сборки. Это будет работать.
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/container-phases?view=azure-devops&tabs=yaml
образец yaml:
resources:
containers:
- container: inflation
image: yyy
endpoint: xxx
jobs:
- job: inflate_infrastructure
container: inflation << has to match the container name above
pool:
vmImage: 'Ubuntu-16.04'
steps:
- zzz
Ответ 5
Я использую .net core 2.2, но вчера он выпустил .net core 3.0 preview 6 [1]. Вы можете использовать конфигурацию ниже. Я предлагаю инспектировать релиз-метаданные (2).
steps:
- task: [email protected]
displayName: 'Use .NET Core sdk'
inputs:
packageType: sdk
version: 3.0.0-preview5
installationPath: $(Agent.ToolsDirectory)/dotnet
[1] https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json
[2] https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer?view=azure-devops
Ответ 6
Вы можете добавить задачу Use .NET Core
и вставить нужную версию в поле Version
, например, 3.0.100-preview9-014004
, пометьте Include Preview Versions
как отмеченное.
Выполните эту задачу перед любыми другими задачами .NET Core.
Ответ 7
В случае, если кто-то использует веб-интерфейс вместо файлов yaml
.
Можно задать спецификацию агента со значением windows-2019
.
![enter image description here]()
Такие шаги, как dotnet test
начнут использовать .Net Core 3.0:
![enter image description here]()