Problem
Nach dem Upgrade einer .Net Core 2.2 Linux-Webanwendung auf .Net Core 3.1 in Azure ist die Anwendung Specified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found
fehlerhaft. Ich bin sogar so weit gegangen, eine neue Linux-Webanwendung mit .Net Core 3.1 zu erstellen, und nach der bash-Eingabeaufforderung wird immer noch dotnet --list-runtimes
als ausgegeben 2.2.7
.
Einzelheiten
Website ausgefallen
Logstream
Die Berichtsanwendung ist ausgefallen, da .net Core 3.1 nicht gefunden werden kann.
Neue .net Core Web App erstellt
3.1 Linux Webapp in North Central, gleiches Problem
Sichergestellt, dass es in Nord-Zentral-USA lief
Laut https://aspnetcoreon.azurewebsites.net/ sollte .netCore 3.1 vollständig unterstützt werden
opt/dotnet/runtimes
listet 3, 3.0 und 3.0.0 auf, aber keine 3.1`
Umgebungsvariablen
Meine Umgebungsvariablen in der Azure-Liste FRAMEWORK_VERSION = lts
anstelle von 3.1
Veröffentlichen
Dies wurde aus einer Azure Devops CI-Pipeline mithilfe einer Azure AppService Deploy-Aufgabe veröffentlicht. 3.1 war hier nicht verfügbar, also habe ich gewähltLTS
Update 1
Es scheint, dass der Schuldige 3.1 im Framework-Stack in Azure Devops Web App / Web Service-Aufgaben fehlt.
Jedes Mal, wenn ich über CI veröffentliche, wird das Web-App-Framework auf die in dieser Dropdown-Liste ausgewählten Elemente aktualisiert. Wenn ich das Framework in der Azure-Webanwendung manuell auf 3.1 ändere, wird die Site aufgerufen. Bei der nächsten Veröffentlichung wird es jedoch wieder heruntergefahren, da das Framework auf die Einstellungen im ci zurückgesetzt wird.
Neue Frage
Wie kann ich die Azure Devops Release-Pipeline dazu bringen, eine .net Core 3.1-Aufgabe zu veröffentlichen?
Update 2
Verwandte Azure Devops Forum Beitrag
Wird derzeit am 23.02.2020 untersucht
.Net Core 3.1-Bereitstellungspipeline für den Linux App Service
Vorgeschlagene Problemumgehungen
- Verwenden Sie YML für die Release-Pipeline und ändern Sie die Version manuell von
3.0
auf3.1
, notiert durch Antwort und diesen Thread - Upgrade von einer
framework dependent
Version auf eineself contained
. Referenz - Downgrade auf .NetCore 3.0
Antworten:
Ich bin auf die gleiche Situation gestoßen, da ich anhand der von Ihnen angegebenen Informationen das Problem beheben konnte, indem ich den Wert manuell in der .yml-Datei von Devops Pipelines Build festgelegt habe. Es scheint, als ob ihnen nur der Wert aus der Dropdown-Liste "RunTime Stack" fehlt. Wenn Sie die .yml-Datei des Erstellungsprozesses wie folgt manuell aktualisieren:
Dadurch wird die richtige Framework-Version ausgewählt. Hoffentlich wird dadurch Ihr Problem mit der Bereitstellung der Azure Devops CI-Pipeline behoben.
quelle
Eine einfachere Lösung besteht darin,
DOTNETCORE|3.1
das Dropdown-Menü Runtime Stack in devops einzugeben. (Danke rdavisau!)quelle