Caso práctico de modernización de aplicaciones
Imagine que tiene una aplicación web heredada basada en .NET Framework 4.8 y quiere modernizarla a .NET 10, la versión de soporte técnico a largo plazo actual. Esta actualización implica cambios sustanciales en los archivos de proyecto, reemplazos de API, migración de configuración y actualizaciones de implementación.
Puede lograr este objetivo con la modernización de aplicaciones copilot de GitHub realizando los pasos generales siguientes.
Para empezar, realice una evaluación:
- Abra la solución en Visual Studio 2026 (o VS 2022 v17.14.17+).
- Haga clic con el botón derecho en la solución en el Explorador de soluciones y seleccione Modernizar, o abra Chat de Copilot y escriba @modernize actualizar a .NET 10.
- El agente le pide que cree una nueva rama. Después de la confirmación, comienza la fase de evaluación.
- El agente genera un archivo assessment.md en .github/upgrades que enumera cambios importantes, API incompatibles (como System.Web.HttpContext), paquetes NuGet en desuso y el ámbito de actualización general.
A continuación, pase a planear:
- Tú revisas la evaluación. Cuando esté satisfecho con la evaluación, confirme para continuar.
- El agente genera un archivo de plan.md que detalla cada cambio: convertir el .csproj al formato de estilo SDK, reemplazar la autenticación de pertenencia de ASP.NET antigua por ASP.NET Core Identity, actualizar los atributos [OutputCache] a [ResponseCache] con el middleware necesario, migrar de web.config a appsettings.json, etc.
- Cada cambio planeado hace referencia a los archivos y API específicos afectados.
Ahora que se crea el plan de modernización, pasa a la fase de implementación. En esta fase, el agente trabaja a través del plan secuencialmente, aplicando cambios de código mediante la transformación con tecnología de IA y recetas de OpenRewrite.
Por ejemplo, podría reemplazar HttpContext.Current por IHttpContextAccessor inyectado por dependencias, actualizar Entity Framework a Entity Framework Core y convertir el Dockerfile para usar la imagen base de mcr.microsoft.com/dotnet/aspnet:10.0.
Después de cada lote de cambios, el agente compila automáticamente el proyecto. Si se produce un error de compilación (por ejemplo, un espacio de nombres que falta), el agente diagnostica el error y lo resuelve. A continuación, el agente ejecuta un examen cve y actualiza los paquetes NuGet con vulnerabilidades conocidas. Por último, si existen pruebas unitarias, el agente las ejecuta. Si se produce un error en las pruebas debido a las API modificadas, actualiza las pruebas. Si la cobertura de pruebas es baja, puede generar pruebas adicionales.
Una vez completada la actualización, puede pedir al agente que implemente la aplicación en Azure. Puede generar infraestructura como archivos de código para Azure App Service, incluir en contenedores la aplicación y configurar canalizaciones de CI/CD. Todo esto se puede hacer desde el IDE.
La modernización de aplicaciones de GitHub Copilot tiene al agente que se encarga de tareas específicas, mientras que el desarrollador proporciona supervisión al revisar y confirmar el avance a través de las fases de modernización de aplicaciones.
| Agente controlado automáticamente | Desarrollador revisado y confirmado |
|---|---|
| Conversión de archivos de proyecto a .csproj de estilo SDK | Evaluación general y plan antes de la ejecución |
| Reemplazo de API (System.Web → ASP.NET Core) | Cambios en la lógica de negocios que requieren conocimientos de dominio |
| Actualizaciones de paquetes NuGet y remediación de CVE | Estrategia de autenticación |
| Diagnóstico y corrección de errores de compilación | Resultados de pruebas y casos límite |
| Generación de Dockerfile y artefactos de despliegue | Configuración final de la implementación |