O .NET Core 3.1 ainda não é suportado nos agentes hospedados nos Pipelines do Azure? Obtendo o NETSDK1045

15

É ótimo que o .Net Core 3.1 tenha sido lançado , mas não tenho certeza de que os agentes hospedados nos Pipelines do Azure tenham se atualizado.

Meu pipeline YAML especifica:

pool:
  vmImage: 'windows-latest'

e a dotnet restoreetapa faz isso:

(_CheckForUnsupportedNETCoreVersion target) -> C: \ Arquivos de programas \ dotnet \ sdk \ 3.0.100 \ Sdks \ Microsoft.NET.Sdk \ target \ Microsoft.NET.TargetFrameworkInference.targets (127,5): erro NETSDK1045: O .NET atual O SDK não oferece suporte à segmentação do .NET Core 3.1. Destino o .NET Core 3.0 ou inferior, ou use uma versão do .NET SDK que ofereça suporte ao .NET Core 3.1. [D: \ a \ 1 \ s \ StatsNZ.BESt.DataService \ StatsNZ.BESt.DataService.csproj]

funciona bem no .Net Core 3.0.

Existem soluções alternativas ou precisamos aguardar o DevOps do Azure para atualizar?

EdH
fonte
11
stackoverflow.com/questions/56574113/… dê uma olhada aqui
Volodymyr Bilyachat

Respostas:

37

O .NET Core 3.1 ainda não é suportado nos agentes hospedados nos Pipelines do Azure?

Não, os agentes hospedados nos Pipelines do Azure oferecem suporte ao .Net Core 3.1, mas o núcleo .net mais recente 3.1.100não está atualmente instalado por padrão nos agentes hospedados nos Pipelines do Azure.

Você pode verificar a imagem de Pipelines Hospedados do Windows 2019 do Azure com VS2019 , a versão mais recente instalada padrão do núcleo .net é 3.0.100.

Para usar o .net core 3.1, você pode adicionar uma tarefa Use .NET Core para instalar o .net core 3.1.100:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Espero que isto ajude.

Leo Liu-MSFT
fonte
Parece que você tem experiência no pipeline do Azure Devops, estou tentando implementar o sonarqube no pipeline. Mas está sempre falhando porque a versão java Jdk deveria ser 8 ou 11. Como posso alterar a versão java jdk no meu pipeline?
Mohamad Mousheimish 28/01
Eu recebi este erro para a versão 3.1.2 [error] Correspondência de versão sdk: 3.1.2 não pôde ser encontrada Link para a imagem: imgur.com/a/qYeSnwV
Pramil Gawande
Não existe o SDK 3.1.2, é apenas o tempo de execução nessa versão atualmente. O SDK mais recente deste comentário é 3.1.102.
CodeThief
Quando tento usar a Use .NET Coretarefa para compilar com 3.1, essa tarefa é bem-sucedida. Mas quando começa a Build Solutiontarefa, ainda não consegue ver o SDK 3.1 e falha.
Panzercrisis 10/03
7

Adicione uma etapa para instalar o .NET Core SDK antes de chamar a criação do dotnet.

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

Trabalhando e verificado com ubuntu-latest.

Bernard Vander Beken
fonte
11
Tenho um trabalho para instalar o .NET Core SDK 3.1 (copio / colo seu código) e ele retorna: "Instalado com êxito o NET Core 3.1.100 SDK". O próximo trabalho (depende do primeiro) ainda usa o SDK 3.0.xx e falha. alex75.visualstudio.com/Cryptocurrencies/_build/...
Alex 75
2
Isso resolveu totalmente o meu problema e me permitiu continuar ubuntu-latest.
JamesQMurphy
11
@ Alex75 Mesmo problema aqui, parece apenas ignorar a tarefa UseDotNet @ 2 e usa o SDK 3.0, estranho ...
jjxtra
Estranho, não tenho ideia de por que isso funciona para algumas pessoas (inclusive eu) e não para outras.
Bernard Vander Beken
0

Se você usar a imagem 'windows-latest', poderá usar os comandos dotnet. Eu mudei de 'ubuntu-latest' para 'windows-latest' e funcionou bem.

John Kesinger
fonte