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 restore
Schritt 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?
Antworten:
Nein, von Azure Pipelines gehostete Agenten unterstützen .Net Core
3.1
, aber der neueste .net Core3.1.100
ist 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:
Hoffe das hilft.
quelle
Use .NET Core
Aufgabe zum Erstellen mit 3.1 zu verwenden, ist diese Aufgabe erfolgreich. Aber wenn es dieBuild Solution
Aufgabe erledigt, kann es das 3.1 SDK immer noch nicht sehen und schlägt fehl.Fügen Sie einen Schritt zum Installieren des .NET Core SDK hinzu, bevor Sie dotnet build aufrufen.
Arbeiten und verifiziert mit
ubuntu-latest
.quelle
ubuntu-latest
.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.
quelle