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
- Versión 16.4 o posterior de Visual Studio 2019 con la carga de trabajo Desarrollo web y ASP.NET
- SDK de .NET Core 3.1
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
Reacción a los cambios cookie de SameSite
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:
- Trabajo con cookies de SameSite en ASP.NET Core
- aspnet/Announcements#390
- Próximos cambios de cookie de SameSite en ASP.NET y ASP.NET Core
Publicación con Visual Studio
En el archivo .pubxml
, actualice TargetFramework
a 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.