Partekatu honen bidez:


¿Qué es la modernización de GitHub Copilot?

GitHub Copilot modernización es un agente de GitHub Copilot que le ayuda a actualizar proyectos a versiones más recientes de .NET y migrar aplicaciones de .NET a Azure de forma rápida y segura. Le guía a través de la evaluación, las recomendaciones de soluciones, las correcciones de código y la validación en Visual Studio, Visual Studio Code, GitHub Copilot CLI y GitHub.com.

Use este agente para:

  • Actualice a una versión más reciente de .NET.
  • Migre tecnologías e implemente en Azure.
  • Modernice la aplicación de .NET, especialmente al actualizar desde .NET Framework.
  • Evalúe el código, la configuración y las dependencias de la aplicación.
  • Planifique y configure el recurso de Azure correcto.
  • Corrija los problemas y aplique los procedimientos recomendados para la migración a la nube.
  • Valide que la aplicación se compila y prueba correctamente.

Escenarios

El agente proporciona varios flujos de trabajo de modernización de un extremo a otro denominados escenarios. Cada escenario es un flujo de trabajo administrado que le guía a través de un tipo específico de actualización o migración:

Escenario Descripción Mensaje de ejemplo
actualización de versión de .NET Actualiza desde versiones anteriores de .NET a .NET 8, 9, 10 o posterior. "Actualizar mi solución a .NET 10"
Conversión de estilo SDK Convierte el formato de proyecto heredado al estilo del SDK. "Convertir al estilo del SDK"
Migración de Newtonsoft.Json Reemplaza Newtonsoft.Json por System.Text.Json. "Migrar desde Newtonsoft.Json"
Migración de SqlClient Migra de System.Data.SqlClient a Microsoft. Data.SqlClient. "Actualizar SqlClient"
Actualización de Azure Functions Actualiza Azure Functions del modelo en proceso al modelo de trabajo aislado. "Actualizar mi Azure Functions"
De Kernel semántico a Agentes Migra los agentes de Kernel semántico a Microsoft Agents AI. "Migrar mis agentes de SK"

Para obtener una referencia completa de todos los escenarios y más de 30 aptitudes de migración integradas, consulte Escenarios y referencia de aptitudes.

Proporcionar comentarios

Microsoft valora sus comentarios y los utiliza para mejorar su agente. Deje comentarios con cualquiera de estas opciones:

Prerrequisitos

Configura la modernización de GitHub Copilot en tu entorno de desarrollo antes de usar el agente. Para conocer los pasos de instalación, consulte Instalar la modernización de GitHub Copilot.

Actualización de proyectos de .NET

El agente de modernización admite la actualización de proyectos de C# y Visual Basic de los siguientes tipos:

  • ASP.NET Core (y tecnologías relacionadas como MVC, Razor Pages y Web API)
  • Blazor
  • Azure Functions
  • Windows Presentation Foundation (WPF)
  • Windows Forms
  • WinUI
  • .NET MAUI y Xamarin
  • Bibliotecas de clases
  • Aplicaciones de consola
  • Proyectos de prueba (MSTest, NUnit y xUnit)

Para iniciar una actualización, consulte Actualizar una aplicación de .NET con la modernización de GitHub Copilot.

Rutas de actualización compatibles

El agente admite las siguientes rutas de actualización:

Fuente Objetivo
.NET Framework (cualquier versión) .NET 8 o posterior
.NET Core 1.x–3.x .NET 8 o posterior
.NET 5 o posterior .NET 8 o posterior

Migración de proyectos de .NET a Azure

El agente de modernización simplifica las migraciones de Azure a través del análisis automatizado, la corrección de código controlada por IA, las comprobaciones de compilación y vulnerabilidades y la automatización de la implementación:

  • Análisis e recomendaciones inteligentes.

    Evalúe la preparación de la aplicación para Azure migración y reciba instrucciones adaptadas en función de sus dependencias y de los problemas identificados.

  • Corrección de código con tecnología de IA.

    Aplique patrones de código predefinidos de procedimientos recomendados para acelerar la modernización con un esfuerzo manual mínimo.

  • Compilación automática y resolución CVE.

    Compile la aplicación y resuelva errores y vulnerabilidades de compilación, lo que simplifica el desarrollo.

  • Implementación sin problemas.

    Despliegue en Azure, pasando su código de desarrollo a producción de manera más ágil.

Tareas predefinidas para la migración

GitHub Copilot modernización para .NET ofrece tareas predefinidas que capturan los procedimientos recomendados del sector y cubren escenarios comunes de migración.

  • Migrar a bases de datos con identidad administrada en Azure, incluidas Azure SQL DB, Azure SQL MI y Azure PostgreSQL

    Modernice la capa de datos mediante la migración de bases de datos locales o heredadas (como DB2, Oracle DB o SQL Server) a Azure SQL DB, Azure SQL Managed Instance o Azure PostgreSQL. Use la autenticación de identidad administrada segura.

  • Azure File Storage

    Mueva las operaciones de E/S de archivos desde el sistema de archivos local a Azure Almacenamiento de archivos para la administración de archivos escalable basada en la nube.

  • Migrar a Azure Blob Storage

    Reemplazar el almacenamiento de objetos en las instalaciones o entre nubes, o el sistema de E/S del sistema de archivos local, por Azure Blob Storage para datos no estructurados.

  • Migrar a Microsoft Entra ID

    Realice la transición de la autenticación y autorización de Windows Active Directory a Microsoft Entra ID (anteriormente Azure AD) para la administración de identidades moderna.

  • Migrar a credenciales protegidas mediante identidad administrada y Azure Key Vault

    Reemplace las credenciales de texto no cifrado en la configuración o el código por identidades administradas seguras y Azure Key Vault para la administración de secretos.

  • Migrar al Azure Service Bus

    Pase de colas de mensajes heredadas o de terceros (como MSMQ o RabbitMQ) o Amazon SQS (AWS Simple Queue Service) a Azure Service Bus para mensajería confiable basada en la nube.

  • Migrar al servicio de comunicación de correo electrónico de Azure

    Reemplace el envío directo de correo electrónico SMTP por Azure Communication Service para la entrega de correo electrónico segura y escalable.

  • Migrar a Confluent Cloud o Azure Event Hub para Apache Kafka

    Transición de Kafka local o local a streaming de eventos administrados con Confluent Cloud o Azure Event Hubs.

  • Migrar a OpenTelemetry en Azure

    Realice la transición de marcos de registro locales, como log4net, Serilog y el registro de eventos de Windows, a OpenTelemetry en Azure.

  • Migra a Azure Cache for Redis utilizando Identidad Administrada

    Reemplace las implementaciones de caché en memoria o local de Redis por Azure Cache for Redis para lograr alta disponibilidad, escalabilidad y seguridad de nivel empresarial.

Cómo funciona

Para iniciar un proceso de actualización o migración, consulte:

  1. Abra el proyecto o la solución de .NET en el entorno de desarrollo.

  2. Inicie el agente usando uno de estos métodos.

    • Visual Studio: haga clic con el botón derecho en la solución o proyecto en Explorador de soluciones y seleccione Modernize. O bien, abra la ventana GitHub Copilot Chat y escriba @Modernize.
    • Visual Studio Code: abra el panel GitHub Copilot Chat y escriba @modernize-dotnet.
    • GitHub Copilot CLI: escriba @modernize-dotnet seguido de la solicitud de actualización o migración.
    • GitHub.com: use el agente de codificación /modernize-dotnet en el repositorio.
  3. Dígale al agente qué actualizar o migrar.

Al pedir al agente de modernización que actualice la aplicación, Copilot primero le pedirá que cree una rama si está trabajando en un repositorio de Git. A continuación, Copilot evalúa el proyecto y ejecuta un flujo de trabajo de tres fases. Cada fase genera archivos Markdown en .github/upgrades/{scenarioId} en el repositorio para que pueda revisar lo que viene a continuación antes de continuar. Si .github/upgrades/{scenarioId} ya existe a partir de un intento anterior, Copilot pregunta si desea continuar o comenzar de nuevo.

Copilot comienza examinando la estructura del proyecto, las dependencias y los patrones de código para crear una evaluación completa. En el archivo se assessment.md enumeran los cambios importantes, los problemas de compatibilidad de API, los patrones en desuso y el ámbito de actualización.

Después de la evaluación, Copilot ejecuta las tres fases siguientes:

  1. Assessment: Copilot examina la estructura, las dependencias y los patrones de código del proyecto y, a continuación, presenta decisiones de estrategia para su revisión, como la estrategia de actualización (abajo, arriba arriba, arriba o todo a la vez), el enfoque de migración de proyectos, las opciones de modernización de la tecnología y el control de compatibilidad. Copilot guarda las decisiones confirmadas en upgrade-options.md.

  2. Planning: Copilot convierte la evaluación y las opciones confirmadas en una especificación detallada. El plan.md archivo documenta estrategias de actualización, enfoques de refactorización, rutas de acceso de dependencias y mitigaciones de riesgos.

  3. Execution: Copilot divide el plan en tareas secuenciales y concretas con criterios de validación en tasks.md. Cada tarea describe un único cambio y cómo Copilot confirma que se realizó correctamente.

Edite cualquiera de los archivos markdown en .github/upgrades/{scenarioId} para ajustar los pasos de actualización o agregar contexto antes de avanzar.

Actualizar estrategias

Durante la fase de evaluación, el agente evalúa la solución y recomienda una de estas estrategias:

Estrategia Más adecuado para Descripción
De abajo hacia arriba Soluciones grandes con gráficos de dependencias profundas Actualiza primero los proyectos hoja y luego progresa hacia arriba.
Arriba abajo Comentarios rápidos sobre la aplicación principal Actualiza primero el proyecto de aplicación y, a continuación, corrige las dependencias.
Todo a la vez Soluciones pequeñas y sencillas Actualiza todos los proyectos en un solo paso.

Modos de flujo

El agente admite dos modos de flujo que controlan cuánto se pausa para recibir su entrada.

  • Automático: El agente pasa por todas las etapas sin pausar, deteniéndose solo en bloqueadores genuinos. Ideal para usuarios experimentados y actualizaciones sencillas.
  • Guiado: El agente se detiene en cada límite de fase para que puedas revisar la evaluación, el plan y las tareas antes de continuar. Lo mejor para los usuarios principiantes y para soluciones complejas.

Cambie entre modos en cualquier momento diciendo "pausa" (para entrar en modo guiado) o "continuar" (para entrar en el modo automático).

Administración de estados

El agente almacena todo el estado de actualización en .github/upgrades/{scenarioId}/. La carpeta contiene:

Archivo propósito
assessment.md Análisis de la solución
upgrade-options.md Decisiones de actualización confirmadas
plan.md Plan de tareas ordenado
tasks.md Panel de progreso activo
scenario-instructions.md Memoria persistente del agente, incluidas las preferencias, las decisiones y las instrucciones personalizadas
execution-log.md Seguimiento detallado de auditoría de todos los cambios
tasks/{taskId}/task.md Ámbito y contexto por tarea
tasks/{taskId}/progress-details.md Notas y resultados de ejecución por tarea

Dado que todo el estado reside en esta carpeta, puede cerrar el IDE, cambiar entre sesiones o incluso cambiar entre entornos de desarrollo (por ejemplo, iniciar en VS Code y continuar en Visual Studio). El agente retoma desde donde se quedó.

Sugerencia

Confirme la carpeta en la .github/upgrades/ rama. El estado comprometido actúa como respaldo y permite a los miembros del equipo ver el progreso de la actualización.

Realización de la actualización

Una vez completada cada fase, revise y modifique los archivos generados según sea necesario y, a continuación, indique a Copilot continuar con la siguiente fase.

Cuando llegue a la fase Execution, indique a Copilot iniciar la actualización. Si Copilot se encuentra en un problema, intenta identificar la causa y aplicar una corrección. Si Copilot no puede corregir el problema, pide ayuda. Al intervenir, Copilot aprende de los cambios que realice e intenta aplicarlos automáticamente si el problema vuelve a producirse.

Resultados de la actualización

A medida que Copilot ejecuta cada tarea, actualiza el archivo tasks.md en .github/upgrades/{scenarioId} con el estado de cada paso. Supervise el progreso revisando este archivo. Copilot crea una confirmación de Git para cada parte del proceso, por lo que puede revertir los cambios o revisar lo que ha cambiado.

Cuando finalice la actualización, Copilot muestra los pasos siguientes en la respuesta del chat.

Telemetría

La herramienta recopila datos sobre los tipos de proyecto, la intención de actualizar y la duración de la actualización. El entorno de desarrollo recopila y agrega los datos y no contiene ninguna información identificable por el usuario. Para obtener más información sobre la directiva de privacidad de Microsoft, consulte Visual Studio Programa para la mejora de la experiencia del cliente.