Problema
Después de actualizar una aplicación web Linux .Net Core 2.2 a .Net Core 3.1 en Azure, la aplicación deja de funcionar con un Specified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found
error. Incluso fui tan lejos como para crear una nueva aplicación web de Linux con .Net Core 3.1, y después de que el símbolo del sistema bash todavía salga dotnet --list-runtimes
como 2.2.7
.
Detalles
Sitio web abajo
Logstream
la aplicación de informes está inactiva porque no puede encontrar .net core 3.1.
Se creó una nueva aplicación web .net core
3.1 aplicación web de Linux en North Central, mismo problema
Se aseguró de que funcionara en el centro-norte de EE. UU.
De acuerdo con https://aspnetcoreon.azurewebsites.net/ , debería tener soporte completo para .netCore 3.1
opt/dotnet/runtimes
enumera 3, 3.0 y 3.0.0, pero no 3.1`
Variables de entorno
Mis variables de entorno en la lista de Azure FRAMEWORK_VERSION = lts
, en lugar de 3.1
Publicación
Esto se publicó desde una canalización ci de devures azul usando una tarea de implementación de Azure AppService. 3.1 no estaba disponible aquí, así que elegíLTS
Actualización 1
Parece que al culpable le falta 3.1 de la pila de framework en las tareas de Azure Devops Web App / Web Service.
Cada vez que publico desde CI, el marco de la aplicación web se actualiza a lo que esté seleccionado en este menú desplegable. Si cambio manualmente el marco a 3.1 en la aplicación web de Azure, aparece el sitio. Pero luego la próxima publicación vuelve a caer porque revierte el marco a la configuración en el ci.
Nueva pregunta
¿Cómo puedo obtener el canal de lanzamiento de Azure Devops para publicar una tarea .net core 3.1?
Actualización 2
Publicación relacionada en el foro de Azure Devops
Actualmente en investigación a partir del 23/02/2020
.Net Core 3.1 despliega canalización a Linux App Service
Soluciones sugeridas
- Use YML para la canalización de lanzamiento y cambie manualmente la versión de
3.0
a3.1
, anotada por la respuesta y este hilo - Actualizar de una
framework dependent
versión a unaself contained
. Referencia - Degradar a .NetCore 3.0
Respuestas:
Me he encontrado con la misma situación, utilizando la información que proporcionó, he podido solucionar el problema estableciendo el valor manualmente en el archivo .yml de Devops Pipelines Build. Parece que solo les falta el valor del menú desplegable RunTime Stack. Si actualiza manualmente el archivo .yml de procesos de compilación como se ve aquí:
Esto seleccionará la versión de marco adecuada. Con suerte, esto solucionará su problema con la implementación de Azure Devops CI Pipeline.
fuente
Una solución más fácil es escribir
DOTNETCORE|3.1
en el menú desplegable Runtime Stack en devops. (Gracias rdavisau!)fuente