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¶
- Descargar el SDK .NET 8
- 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¶
-
Cambia el
TargetFramework
en los archivos.csproj
anet8.0
. Por ejemplo:<PropertyGroup> - <TargetFramework>net6.0</TargetFramework> + <TargetFramework>net8.0</TargetFramework> </PropertyGroup>
-
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.