Problème
Après la mise à niveau d'une application Web Linux .Net Core 2.2 vers .Net Core 3.1 dans Azure, l'application est arrêtée avec une Specified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found
erreur. Je suis même allé jusqu'à créer une nouvelle application Web Linux avec .Net Core 3.1, et après que l'invite de commande bash soit toujours en sortie dotnet --list-runtimes
sous 2.2.7
.
Détails
Site Web en panne
Logstream
l'application de rapport est arrêtée car elle ne trouve pas .net core 3.1.
Création d'une nouvelle application Web .net core
3.1 webapp linux dans North Central, même problème
Assuré qu'il fonctionnait dans le centre-nord des États-Unis
Selon https://aspnetcoreon.azurewebsites.net/ , devrait avoir une prise en charge complète de .netCore 3.1
opt/dotnet/runtimes
répertorie 3, 3.0 et 3.0.0, mais aucun 3.1 »
Variables d'environnement
Mes variables d'environnement dans la liste Azure FRAMEWORK_VERSION = lts
, au lieu de 3.1
Édition
Cela a été publié à partir d'un pipeline ci-dessous devops azure à l'aide d'une tâche Azure AppService Deploy. 3.1 n'était pas disponible ici, j'ai donc choisiLTS
Mise à jour 1
Il semble que le coupable soit absent de la pile du framework 3.1 dans les tâches Azure Devops Web App / Web Service.
Chaque fois que je publie à partir de CI, le cadre de l'application Web est mis à jour selon ce qui est sélectionné dans cette liste déroulante. Si je change manuellement le cadre en 3.1 sur l'Azure Web App, le site apparaît. Mais ensuite, lors de la prochaine publication, il redescend car il rétablit le cadre dans les paramètres de l'IC.
Nouvelle question
Comment obtenir le pipeline Azure Devops Release pour publier une tâche .net core 3.1?
Mise à jour 2
Article de forum Azure Devops connexe
En cours d'investigation au 23/02/2020
.Net Core 3.1 déploie un pipeline vers Linux App Service
Solutions de contournement suggérées
Réponses:
J'ai rencontré la même situation, en utilisant les informations que vous avez fournies, j'ai pu résoudre le problème en définissant manuellement la valeur dans le fichier .yml de Devops Pipelines Build. Il semble qu'il leur manque juste la valeur du menu déroulant RunTime Stack. Si vous mettez à jour manuellement le fichier .yml des processus de génération comme indiqué ici:
Cela sélectionnera la bonne version du framework. Espérons que cela résoudra votre problème avec le déploiement du pipeline Azure Devops CI.
la source
Une solution plus simple consiste à taper
DOTNETCORE|3.1
dans la liste déroulante Runtime Stack dans devops. (Merci rdavisau!)la source