.Net Core 3.1 aún no es compatible con los agentes alojados de Azure Pipelines? Obteniendo NETSDK1045

15

Es genial que .Net Core 3.1 esté fuera , pero no estoy seguro de que los agentes alojados en Azure Pipelines se hayan puesto al día.

Mi canalización de YAML especifica:

pool:
  vmImage: 'windows-latest'

y el dotnet restorepaso hace esto:

(_CheckForUnsupportedNETCoreVersion target) -> C: \ Archivos de programa \ dotnet \ sdk \ 3.0.100 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.NET.TargetFrameworkInference.targets (127,5): error NETSDK1045: El .NET actual SDK no admite la orientación .NET Core 3.1. Apunte a .NET Core 3.0 o inferior, o use una versión de .NET SDK que admita .NET Core 3.1. [D: \ a \ 1 \ s \ StatsNZ.BESt.DataService \ StatsNZ.BESt.DataService.csproj]

funciona bien en .Net Core 3.0.

¿Hay alguna solución alternativa o tenemos que esperar a que Azure DevOps se ponga al día?

EdH
fuente
1
stackoverflow.com/questions/56574113/... echa un vistazo aquí
Volodymyr Bilyachat

Respuestas:

37

.Net Core 3.1 aún no es compatible con los agentes alojados de Azure Pipelines?

No, los agentes alojados de Azure Pipelines son compatibles con .Net Core 3.1, pero el último núcleo de .net 3.1.100no está instalado de manera predeterminada en los agentes alojados de Azure Pipelines.

Puede consultar Azure Pipelines Hosted Windows 2019 con la imagen VS2019 , la última versión instalada por defecto de .net core es 3.0.100.

Para usar .net core 3.1, puede agregar una tarea Usar .NET Core para instalar .net core 3.1.100:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Espero que esto ayude.

Leo Liu-MSFT
fuente
Parece que tienes experiencia en la tubería de desarrollo azul, estoy tratando de implementar sonarqube en la tubería. Pero siempre falla porque se supone que la versión Java JDK es 8 u 11. ¿Cómo puedo cambiar la versión Java JDK en mi cartera?
Mohamad Mousheimish
Recibí este error para la versión 3.1.2 [error] sdk versión coincidente: 3.1.2 no se pudo encontrar Enlace a la imagen: imgur.com/a/qYeSnwV
Pramil Gawande
No hay 3.1.2 SDK, es solo el tiempo de ejecución en esa versión actualmente. El último SDK a partir de este comentario es 3.1.102.
CodeThief
Cuando trato de usar la Use .NET Coretarea para construir con 3.1, esa tarea tiene éxito. Pero cuando se pone a la Build Solutiontarea, todavía no puede ver el SDK 3.1 y falla.
Panzercrisis
7

Agregue un paso para instalar .NET Core SDK antes de llamar a dotnet build.

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

Trabajando y verificado con ubuntu-latest.

Bernard Vander Beken
fuente
1
Tengo un trabajo para instalar .NET Core SDK 3.1 (copio / pego su código) y me devuelve: "Instalado correctamente NET Core 3.1.100 SDK". El siguiente trabajo (depende del primero) todavía usa SDK 3.0.xx y falla. alex75.visualstudio.com/Cryptocurrencies/_build/…
Alex 75
2
Esto solucionó totalmente mi problema y me permitió quedarme ubuntu-latest.
JamesQMurphy
1
@ Alex75 El mismo problema aquí, parece ignorar la tarea UseDotNet @ 2 y usa el SDK 3.0, extraño ...
jjxtra
Extraño, no tengo idea de por qué esto funciona para algunas personas (incluido yo mismo) y no para otras.
Bernard Vander Beken
0

Si usa la imagen 'windows-latest', debería poder usar los comandos dotnet. Lo cambié de 'ubuntu-latest' a 'windows-latest' y funcionó bien.

John Kesinger
fuente