.Net Core 3.1 wird in von Azure Pipelines gehosteten Agenten noch nicht unterstützt? NETSDK1045 erhalten

15

Es ist großartig, dass .Net Core 3.1 nicht verfügbar ist , aber ich bin nicht sicher, ob die von Azure Pipelines gehosteten Agenten aufgeholt haben.

Meine YAML-Pipeline gibt Folgendes an:

pool:
  vmImage: 'windows-latest'

und der dotnet restoreSchritt macht dies:

(_CheckForUnsupportedNETCoreVersion-Ziel) -> C: \ Programme \ dotnet \ sdk \ 3.0.100 \ Sdks \ Microsoft.NET.Sdk \ Ziele \ Microsoft.NET.TargetFrameworkInference.targets (127,5): Fehler NETSDK1045: Das aktuelle .NET Das SDK unterstützt das Targeting von .NET Core 3.1 nicht. Wählen Sie entweder .NET Core 3.0 oder niedriger aus oder verwenden Sie eine Version des .NET SDK, die .NET Core 3.1 unterstützt. [D: \ a \ 1 \ s \ StatsNZ.BESt.DataService \ StatsNZ.BESt.DataService.csproj]

funktioniert gut in .Net Core 3.0.

Gibt es Workarounds oder müssen wir warten, bis Azure DevOps aufholt?

EdH
quelle
1
stackoverflow.com/questions/56574113/… schauen Sie hier
Volodymyr Bilyachat

Antworten:

37

.Net Core 3.1 wird in von Azure Pipelines gehosteten Agenten noch nicht unterstützt?

Nein, von Azure Pipelines gehostete Agenten unterstützen .Net Core 3.1, aber der neueste .net Core 3.1.100ist derzeit nicht standardmäßig in den von Azure Pipelines gehosteten Agenten installiert.

Sie können das von Azure Pipelines gehostete Windows 2019 mit VS2019-Image überprüfen . Die standardmäßig installierte neueste Version von .net core ist 3.0.100.

Um den .net Core 3.1 zu verwenden, können Sie eine Use .NET Core-Task hinzufügen , um den .net Core 3.1.100 zu installieren:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Hoffe das hilft.

Leo Liu-MSFT
quelle
Es sieht so aus, als hätten Sie Erfahrung mit der Azure Devops-Pipeline. Ich versuche, Sonarqube in die Pipeline zu implementieren. Aber es schlägt immer fehl, weil die Java-JDK-Version 8 oder 11 sein soll. Wie kann ich die Java-JDK-Version in meiner Pipeline ändern?
Mohamad Mousheimish
Ich habe diesen Fehler für Version 3.1.2 erhalten. [Fehler] SDK-Versionsübereinstimmung: 3.1.2 konnte nicht gefunden werden. Link zum Bild: imgur.com/a/qYeSnwV
Pramil Gawande
Es gibt kein 3.1.2 SDK, es ist derzeit nur die Laufzeit in dieser Version. Das neueste SDK zum Zeitpunkt dieses Kommentars ist 3.1.102.
CodeThief
Wenn ich versuche, die Use .NET CoreAufgabe zum Erstellen mit 3.1 zu verwenden, ist diese Aufgabe erfolgreich. Aber wenn es die Build SolutionAufgabe erledigt, kann es das 3.1 SDK immer noch nicht sehen und schlägt fehl.
Panzercrisis
7

Fügen Sie einen Schritt zum Installieren des .NET Core SDK hinzu, bevor Sie dotnet build aufrufen.

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

Arbeiten und verifiziert mit ubuntu-latest.

Bernard Vander Beken
quelle
1
Ich habe einen Job zum Installieren von .NET Core SDK 3.1 (ich kopiere / füge Ihren Code ein) und es gibt Folgendes zurück: "NET Core 3.1.100 SDK wurde erfolgreich installiert". Der nächste Job (hängt vom ersten ab) verwendet weiterhin SDK 3.0.xx und schlägt fehl. alex75.visualstudio.com/Cryptocurrencies/_build/…
Alex 75
2
Dies hat mein Problem vollständig behoben und mir erlaubt, weiterzumachen ubuntu-latest.
JamesQMurphy
1
@ Alex75 Gleiches Problem hier, es scheint nur die UseDotNet @ 2 Aufgabe zu ignorieren und verwendet das 3.0 SDK, seltsam ...
jjxtra
Seltsamerweise habe ich keine Ahnung, warum dies für einige Leute (mich eingeschlossen) und nicht für andere funktioniert.
Bernard Vander Beken
0

Wenn Sie das Bild "Windows-Neueste" verwenden, sollten Sie Dotnet-Befehle verwenden können. Ich habe es von "Ubuntu-Neueste" in "Windows-Neueste" geändert und es hat gut funktioniert.

John Kesinger
quelle