Saltar a contenido

Migración de .NET 6 a .NET 8

Este documento proporciona una guía paso a paso para migrar proyectos de .NET 6 a .NET 8.

Instalación .NET 8

  1. Descargar el SDK .NET 8
  2. Descargar o actualizar Visual Studio 2022 (v17.8) o superior

Preparación

Antes de comenzar, es importante respaldar todos los archivos y proyectos. Asegúrate de tener una copia de seguridad completa.

Actualización Automatica

Microsoft dispone de una herramienta en visual studio llamada ".NET Upgrade Assistant" la cual realiza un escaneo de los proyectos y dependencias y genera un plan de actualización.

Puede ver más en Microsoft Ugrade Assistant

Actualización manual del SDK

  1. Cambia el TargetFramework en los archivos .csproj a net8.0. Por ejemplo:

    <PropertyGroup>
    -   <TargetFramework>net6.0</TargetFramework>
    +   <TargetFramework>net8.0</TargetFramework>
    </PropertyGroup>
    
  2. Realiza este cambio en todos los proyectos relevantes: Api, Application, Infrastructure, Domain.

Actualización de Librerías

Actualiza todas las librerías a sus versiones compatibles con .NET 8. Esto incluye librerías propias y de terceros. Verifica cada una para asegurarte de que son compatibles con .NET 8.

Revisión de Código Obsoleto

.NET 8 podría haber introducido cambios que hagan que algunas partes del código sean obsoletas o requieran modificación. Revisa la documentación oficial para identificar estos cambios.

Para las librerías de arquitectura, debemos prestar atención a la configuración de Observability y CQRS que fueron los grandes cambios en este upgrade.

Actualización del Dockerfile

Actualiza el Dockerfile para usar la imagen base de .NET 8:

FROM ghcr.io/architecture-it/net-sdk:8.0 AS publish
WORKDIR /app
COPY . .
WORKDIR "/app/src/Api"
RUN dotnet publish "{appname}.csproj" -c Release -o /app/publish

FROM ghcr.io/architecture-it/net:8.0
COPY --from=publish /app/publish .

ENTRYPOINT ["dotnet", "{appname}.dll"]

Pruebas

Después de realizar los cambios, es crucial probar exhaustivamente la aplicación. Asegúrate de que todas las funciones funcionan como se espera y que no hay problemas de compatibilidad.

Referencias Útiles

  • Documentación oficial de migración de .NET: Migrate from ASP.NET Core 7.0 to 8.0
  • Cambios importantes en .NET 8: Revisa la documentación oficial para ver los cambios en la API y las nuevas funcionalidades.