Migración de ASP.NET Core 3.0 a 3.1

Por Scott Addie

En este artículo se explica cómo actualizar un proyecto de ASP.NET Core 3.0 existente a ASP.NET Core 3.1.

Requisitos previos

Actualización de la versión del SDK de .NET Core en global.json

Si confía en un archivo global.json para tener como destino una versión específica del SDK de .NET Core, actualice la propiedad version a la versión del SDK 3.1 instalada. Por ejemplo:

{
  "sdk": {
-    "version": "3.0.101"
+    "version": "3.1.101"
  }
}

Actualización de la plataforma de destino

En el archivo del proyecto, actualice el Moniker de la plataforma de destino (TFM) a netcoreapp3.1:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

</Project>

Actualización de las referencias del paquete

En el archivo de proyecto, actualice el atributo Version de cada referencia de paquete Microsoft.AspNetCore.* a 3.1.0 o posterior. Por ejemplo:

<ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0" />
-    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.0.0" Condition="'$(Configuration)' == 'Debug'" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.1" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.1" Condition="'$(Configuration)' == 'Debug'" />
</ItemGroup>

Actualización de imágenes de Docker

En el caso de las aplicaciones que usan Docker, use una imagen base que incluya ASP.NET Core 3.1. Por ejemplo:

docker pull mcr.microsoft.com/dotnet/aspnet:3.1

Las implementaciones del atributo SameSite para las cookies de HTTP han cambiado entre ASP.NET Core 3.0 y 3.1. Para conocer las acciones que se deben realizar, consulte los siguientes recursos:

Publicación con Visual Studio

En el archivo .pubxml, actualice TargetFrameworka 3.1:

- <TargetFramework>netcoreapp3.0</TargetFramework>
+ <TargetFramework>netcoreapp3.1</TargetFramework>

Revisar cambios importantes

Revise los cambios importantes de 3.0 a 3.1 en .NET Core, ASP.NET Core y Entity Framework Core en Cambios importantes para la migración de la versión 3.0 a la 3.1.

Cambios opcionales

Los cambios siguientes son opcionales.

Uso del Asistente de etiquetas de componente

ASP.NET Core 3.1 presenta un Asistente de etiquetas de Component. El asistente de etiquetas puede reemplazar el método auxiliar HTML de RenderComponentAsync<TComponent> en un proyecto Blazor. Por ejemplo:

- @(await Html.RenderComponentAsync<Counter>(RenderMode.ServerPrerendered, new { IncrementAmount = 10 }))
+ <component type="typeof(Counter)" render-mode="ServerPrerendered" param-IncrementAmount="10" />

Para más información, vea Integración y representación previa de componentes Razor de ASP.NET Core.

Módulo de ASP.NET Core (ANCM)

Si el módulo de ASP.NET Core (ANCM) no era un componente seleccionado cuando Visual Studio se instaló o si se instaló una versión anterior de ANCM en el sistema, descargue el instalador de agrupación de hospedaje de .NET Core más reciente (descarga directa) y ejecute el instalador. Para obtener más información, consulte Agrupación de hospedaje.