Saltar al contenido

Cambio del marco de trabajo de destino en una aplicación web de Azure

Siéntete en la libertad de compartir nuestro sitio y códigos en tus redes, necesitamos tu ayuda para ampliar esta comunidad.

Solución:

Al menos para los hosts de Linux, la pila de tiempo de ejecución está disponible a través de la configuración del servicio de la aplicación; simplemente se divide en varias propiedades:

Configuración general

En una nota más técnica, se puede acceder a través de LinuxFxVersion:

    "siteProperties": 
      "metadata": null,
      "properties": [
        2.1"
        ,
        
          "name": "WindowsFxVersion",
          "value": null
        
      ],
      "appSettings": null
    ,

Por ejemplo, a través de la CLI de Azure:

az webapp config set -g MyResourceGroup -n MyUniqueApp --linux-fx-version DOTNETCORE|2.1

Si desea evitar tiempos de inactividad, debe usar tragamonedas como mencionó. Al igual que con todas las implementaciones de aplicaciones, tendrá una aplicación muy lenta durante un breve período de tiempo durante la implementación.

Es posible cambiar todo de una vez si usa algo como Azure Pipelines. La tarea de implementación de Azure App Service le permite implementar la aplicación y configurar la pila de tiempo de ejecución al mismo tiempo.

Las tragamonedas son muy independientes entre sí, por lo que puede tener diferentes pilas de tiempo de ejecución según la tragamonedas.

Paso 1: establezca el marco objetivo para el proyecto

En el proyecto, establezca el marco de destino en el que desee. En VS, haga clic con el botón derecho en el nombre del proyecto, elija Propiedades y luego especifique el marco de destino.

ingrese la descripción de la imagen aquí

O edite directamente el archivo .csproj para especificar el marco de destino, usando la siguiente sintaxis
netcoreapp3.1

Paso 2: establezca el marco de destino para la publicación

Al publicar el proyecto, establezca el marco de destino allí también. En VS, haga clic con el botón derecho en el nombre del proyecto, elija Publicar y, en el asistente de publicación, especifique el marco de destino.

ingrese la descripción de la imagen aquí

Esta configuración también se reflejará en el archivo .pubxml (y se puede editar allí si prefiere usar la sintaxis netcoreapp3.1 )

Paso 3: compruebe que el tiempo de ejecución que necesita está presente en Azure

Si la versión de tiempo de ejecución especificada en el proyecto y la configuración de publicación está presente en Azure, entonces esa versión se usará automáticamente. Así que tenemos que comprobar si está presente.

Alex describió cómo hacer esto en los hosts de Linux en su respuesta, pero eso no funciona en los hosts de Windows (la configuración de “Versión principal” y “Versión secundaria” no se muestra para los hosts de Windows en Azure Portal).

ingrese la descripción de la imagen aquí

La consola Kudu, por otro lado, funciona para ambos sistemas operativos. Se puede contactar a Kudu en https://.scm.azurewebsites.net. Hay un par de formas diferentes de buscar versiones de tiempo de ejecución Kudu:

Opción 1. Haga clic en el enlace ‘Versiones de tiempo de ejecución’ en la sección Rest API.

ingrese la descripción de la imagen aquí
Mostrará las versiones compatibles de dotnetcore (y también las versiones de nodejs, la versión del sistema operativo, etc.).

Opción 2. Haga clic en Consola de depuración -> CMD para iniciar el símbolo del sistema de kudu. Escribir dotnet --list-runtimes.

ingrese la descripción de la imagen aquí

(No utilice dotnet --list-sdks porque lo importante es el tiempo de ejecución, no el sdk, ya que el sdk es necesario para crear una aplicación y lo más probable es que cree la aplicación en su máquina local antes de publicarla en Azure).

Paso 4: si el tiempo de ejecución no está presente en Azure

Este podría ser el caso si el tiempo de ejecución que está utilizando todavía está en versión preliminar. Puede incrustar su propia versión de .net core con la aplicación o puede usar una extensión. Estos son descritos por Sebastien en su respuesta.

Paso 5 – Publicar la aplicación

No es necesario eliminar la aplicación web existente y crear una nueva. Puede publicar en una aplicación antigua que anteriormente usaba un marco de destino inferior.

La respuesta anterior es correcta, puede administrar la versión de tiempo de ejecución en Configuración de configuración de la aplicación.

Pero también puedes ejecutar dotnet publish --runtime win-x86 para incrustar su propia versión de .Net Core con su aplicación. Agrega algunos gastos generales, pero usted controla la versión de tiempo de ejecución.

Catálogo RID de .NET Core

Una tercera opción es instalar una extensión del sitio

ingrese la descripción de la imagen aquí

Eres capaz de añadir valor a nuestra información colaborando tu veteranía en las crónicas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *