Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
La modernización de GitHub Copilot utiliza un enfoque metodológico y estructurado para actualizar y migrar proyectos de .NET. Comprender cómo funciona el agente, incluidos sus escenarios, aptitudes, tareas y flujo de trabajo, le ayuda a colaborar con el agente de forma eficaz y obtener los mejores resultados.
Sugerencia
Piense en el agente como un compañero experto que entiende .NET profundamente, sigue un plan estructurado y se adapta a sus comentarios. Cuanto más contexto proporcione, mejor funciona el agente.
El agente como compañero de equipo
El agente sobresale en la colaboración, no en la automatización sin contexto.
- Deep .NET knowledge: El agente comprende los archivos de proyecto, las dependencias de NuGet, los cambios importantes y los patrones de migración en docenas de tecnologías de .NET para proyectos de C# y Visual Basic.
- Flujo de trabajo estructurado: Cada actualización pasa por la evaluación, el planeamiento y la ejecución. Sin cambios aleatorios, sin sorpresas.
-
Aprende tus preferencias: Cuando se dice "usar siempre tipos explícitos en lugar de
var", el agente escribe esa preferencia enscenario-instructions.mdy la recuerda en todas las sesiones. - Correcto a mitad de vuelo: ¿Hiciste una llamada equivocada? Indique al agente. Se adapta y aplica la corrección a partir de ahora.
- Explica su razonamiento: Pregunte "¿por qué ha elegido ese enfoque?" y el agente le guía por la decisión.
Escenarios
Un escenario es un flujo de trabajo de modernización de un extremo a otro administrado. Cuando se indica al agente "Actualizar mi solución a .NET 10", se desencadena el escenario de .NET version upgrade.
Cómo se detectan los escenarios
No es necesario memorizar nombres de escenario. El agente detecta escenarios pertinentes automáticamente:
- Analiza el código base para comprender qué tecnologías está usando, incluidos el lenguaje, la versión del marco, las bibliotecas y los tipos de proyecto.
- Identifica qué escenarios son relevantes para los proyectos.
- Clasifica los escenarios por importancia y peso. Primero se muestran las más relevantes.
También puede preguntar directamente: "¿Qué escenarios están disponibles para mi solución?"
Persistencia del escenario
Cada escenario activo obtiene su propia carpeta en .github/upgrades/{scenarioId}/. La carpeta del escenario contiene el plan, el progreso de la tarea, las preferencias y los registros de ejecución. La carpeta forma parte del repositorio de Git.
Para obtener una lista completa de escenarios, consulte Referencia de escenarios y aptitudes.
Ciclo de vida del flujo de trabajo
Cada escenario sigue el mismo ciclo de vida: un flujo de trabajo de tres fases.
Fase 1: Evaluación
El agente recopila todo lo que necesita antes de comenzar el trabajo:
- Marco de trabajo objetivo: La versión a la que está actualizando.
- Estrategia de Git: El agente sugiere el uso de ramas y tú controlas los detalles: el nombre de la rama, si se utilizan ramas por tarea y el momento de realizar las confirmaciones.
- Modo de flujo: Automático (controlado por el agente) o Guiado (usted aprueba cada fase).
- Parámetros específicos del escenario: En función del escenario, el agente podría formular más preguntas.
El agente inicializa el área de trabajo del escenario en .github/upgrades/{scenarioId}/.
A continuación, el agente analiza el código base:
- Gráfico de dependencias del proyecto (orden topológico)
- Compatibilidad de paquetes NuGet con la plataforma de destino
- Cambios disruptivos en la API
- Cobertura de pruebas
- Factores de complejidad y riesgo
El agente guarda un informe de evaluación completo en assessment.md.
En función de la evaluación, el agente evalúa la solución e identifica qué decisiones de actualización son pertinentes. Presenta valores predeterminados razonables y le permite revisar e invalidar cualquier opción.
Las opciones pueden incluir:
- Estrategia de actualización: Abajo arriba, arriba abajo o todo a la vez.
- Enfoque de migración del proyecto: Reescritura en el lugar o en paralelo para aplicaciones web; en el lugar o multidestino para bibliotecas.
- Modernización de la tecnología: Opciones para la migración de Entity Framework, la inserción de dependencias, el registro y la configuración.
- Administración de paquetes: Si y cuándo adoptar la administración central de paquetes.
- Control de compatibilidad: Cómo abordar las API y los paquetes no admitidos.
El agente guarda las decisiones confirmadas en upgrade-options.md.
En el modo guiado, el agente se detiene aquí para su revisión antes de continuar.
Fase 2: Planificación
El agente crea el plan de tareas en función de la evaluación y las opciones confirmadas. El planeamiento genera tres archivos clave:
-
plan.md: plan de actualización con descripciones de estrategias y tareas. -
scenario-instructions.md: sus preferencias, decisiones y la memoria del agente. -
tasks.md: la lista ordenada de tareas que ejecutará el agente.
Fase 3: Ejecución
El agente trabaja en tareas de manera secuencial. Para cada tarea de tasks.md, el agente sigue un ciclo: iniciar, ejecutar, validar (compilar y probar) y completar. Puede controlar cuándo y cómo confirma el agente los cambios: por tarea, por grupo de tareas o al final. A medida que el agente trabaja, actualiza tasks.md con indicadores de estado en tiempo real para que pueda realizar un seguimiento del progreso.
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 | Cómo funciona |
|---|---|---|
| De abajo hacia arriba | Soluciones grandes con gráficos de dependencias profundas | Comience con proyectos sin dependencias, progrese hacia arriba. |
| Arriba abajo | Comentarios rápidos sobre la aplicación principal | Comience con el proyecto de aplicación y corrija las dependencias según sea necesario. |
| Todo a la vez | Soluciones pequeñas y sencillas | Actualice todo en un solo paso. |
Sugerencia
El agente solo expone decisiones relevantes para el proyecto. Una aplicación de consola sencilla no ve opciones de marco web y un proyecto sin Entity Framework no ve las opciones de migración de base de datos.
Habilidades
Las habilidades son capacidades de modernización más pequeñas y específicas. Cuando el agente encuentra código EF6 durante una actualización, carga la habilidad EF6-to-EF-Core con instrucciones detalladas de migración paso a paso. Invoque una aptitud directamente durante una actualización: "migre los servicios WCF de mi proyecto a CoreWCF".
El agente se distribuye con más de 30 aptitudes integradas organizadas por dominio:
- Acceso a datos: EF6 a EF Core (code-first y EDMX), LINQ to SQL y migración de SqlClient
- Web/ASP.NET: Identity, Global.asax, OWIN, MVC routing/filters/bundling y WCF a CoreWCF
- Serialización: Newtonsoft.Json a System.Text.Json
- Cloud: Azure Functions en proceso al modelo de trabajo aislado
- Bibliotecas: ADAL a MSAL, SignalR, SDK de PowerShell, y más.
Las habilidades se cargan automáticamente en función de lo que el agente detecta en el repositorio de código. No es necesario gestionar la carga de habilidades. Simplemente describa lo que necesita.
Para obtener la lista completa, consulte Referencia de escenarios y aptitudes.
Tasks
Las tareas son las unidades atómicas de trabajo dentro de un escenario. Cada tarea representa una parte específica y limitada de la actualización, como "Actualizar CommonLib de .NET 6 a .NET 10" o "Migrar el uso de EF6 en DataLayer a EF Core".
Ciclo de vida de la tarea
Las tareas se mueven por estos estados:
- Disponible: Listo para empezar, se cumplen todas las dependencias.
- En curso: El agente está trabajando activamente en la tarea.
- Completado: Cambios de código aplicados, compilación superada, pruebas superadas.
Para cada tarea, el agente:
- Carga habilidades y contexto relacionados.
- Evalúa la complejidad y decide si la tarea necesita subtareas.
- Escribe un resumen de ámbito en
tasks/{taskId}/task.md. - Ejecuta los cambios de código.
- Valida mediante la ejecución de compilaciones y pruebas.
- Registra los resultados en
tasks/{taskId}/progress-details.md. - Confirma los cambios y se mueve a la siguiente tarea.
Administración de estados
El agente mantiene el estado persistente para que pueda detener y reanudar en cualquier momento. Todo vive en el repositorio bajo .github/upgrades/{scenarioId}/.
| Archivo | propósito |
|---|---|
scenario-instructions.md |
Sus preferencias, decisiones e instrucciones personalizadas. Memoria persistente del agente. |
upgrade-options.md |
Decisiones de actualización confirmadas |
plan.md |
El plan de actualización con descripciones de estrategias y tareas |
tasks.md |
Panel de progreso visual que muestra el estado de la tarea |
execution-log.md |
Registro detallado de todos los cambios y decisiones |
tasks/{taskId}/task.md |
Ámbito y contexto por tarea |
tasks/{taskId}/progress-details.md |
Notas y resultados de ejecución por tarea |
Reanudabilidad
Cierre el chat, cierre el IDE o vuelva al día siguiente. El agente retoma desde donde lo dejó.
- En la siguiente interacción, el agente comprueba automáticamente el estado actual del área de trabajo.
- El agente detecta el escenario existente y muestra el progreso actual, como "3 de 8 tareas completadas".
- El agente detecta tareas obsoletas (bloqueadas en curso de una sesión interrumpida anterior) y ofrece reanudarlas o reiniciarlas.
- El agente vuelve a cargar sus preferencias desde
scenario-instructions.md.
Continuidad entre IDEs
Dado que el estado reside en Git, puede cambiar entre VS Code, Visual Studio y Copilot CLI durante la actualización. La .github/upgrades/ carpeta es el estado compartido que ambos IDE entienden.
Sugerencia
Confirme la carpeta en la .github/upgrades/ rama. Inserte la rama en un repositorio remoto para permitir que los miembros del equipo vean el progreso o continúen la actualización en otra máquina.
Modos de flujo
El agente admite dos modos de flujo que controlan la supervisión que tiene: modo automático y modo guiado.
Modo automático
El agente funciona en todas las fases (evaluación, planeación y ejecución) sin pausar para su aprobación. Muestra los hallazgos clave y las actualizaciones sobre el progreso, y sigue avanzando.
Ideal para usuarios experimentados, actualizaciones sencillas y soluciones pequeñas.
Modo guiado
El agente se detiene en cada límite de fase para su revisión:
- Después de la evaluación: "Esto es lo que encontré. ¿Debo continuar con las opciones de actualización?"
- Después de planear: "Este es el plan de tareas. ¿Quieres que inicie la ejecución?"
- Antes de desglosar tareas complejas: "Esta tarea es compleja. Así es como la desglosaría".
Lo mejor para nuevos usuarios, soluciones complejas y cuando quieras aprender el proceso.
Cambiar modos en cualquier momento
- Diga "pausa" o "cambiar a guiado" para cambiar al modo guiado.
- Diga "continuar" o "continuar" para cambiar al modo automático.
Sugerencia
Comience con el modo guiado para su primera actualización para comprender el flujo de trabajo y, a continuación, cambie a Automático una vez que se sienta cómodo.