Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
GitHub Copilot mise à niveau est un agent GitHub Copilot qui vous aide à mettre à niveau des projets vers des versions plus récentes de .NET rapidement et en toute confiance. Il vous guide tout au long de l’évaluation, des recommandations de solution, des correctifs de code et de la validation dans Visual Studio, Visual Studio Code, GitHub Copilot CLI et GitHub.com.
Utilisez cet agent pour :
- Effectuez une mise à niveau vers une version plus récente de .NET.
- Moderniser votre application .NET, en particulier lors de la mise à niveau à partir de .NET Framework.
- Évaluez le code, la configuration et les dépendances de votre application.
- Vérifiez que votre application génère et teste correctement.
Scénarios
L’agent fournit plusieurs flux de travail de modernisation de bout en bout appelés scénarios. Chaque scénario est un workflow managé qui vous guide tout au long d’un type spécifique de mise à niveau ou de migration :
| Scenario | Description | Exemple d’invite |
|---|---|---|
| .NET mise à niveau de version | Mise à niveau des versions antérieures de .NET vers .NET 8, 9, 10 ou version ultérieure. | « Mettre à niveau ma solution vers .NET 10 |
| Conversion de style SDK | Convertit le format de projet hérité en style SDK. | « Convertir en style SDK » |
| Mise à niveau de Newtonsoft.Json | Remplace Newtonsoft.Json par System.Text.Json. | « Passer de Newtonsoft.Json » |
| Mise à niveau de SqlClient | Met à niveau System.Data.SqlClient vers Microsoft. Data.SqlClient. | « Update SqlClient » |
| Azure Functions mise à niveau | Élevez les Azure Functions du modèle en processus au modèle de worker isolé. | "Mettre à niveau mes Azure Functions" |
| Noyau sémantique aux agents | Met à niveau les agents Noyau sémantique vers Microsoft Agent Framework. | « Mettre à niveau mes agents SK » |
| Intégration de Aspire | Ajoute la prise en charge d'Aspire pour la boucle interne et le déploiement Azure. | « Ajouter Aspire à mon application » |
| Aspire mise à niveau de version | Met à niveau les applications existantes Aspire vers des versions plus récentes. | « Mettre à niveau ma Aspire version » |
| Mise à niveau de WebForms à Blazor | Migre les applications ASP.NET Web Forms vers Blazor. | « Migrer mon application Web Forms vers Blazor » |
Pour obtenir une référence complète de tous les scénarios et de 30 compétences de mise à niveau intégrées, consultez scénarios et informations de référence sur les compétences.
Fournir des commentaires
Microsoft valorise vos commentaires et les utilise afin d'améliorer l’agent. Laissez vos commentaires à l’aide de l’une des options suivantes :
Dans Visual Studio, utilisez les options Suggester une fonctionnalité et Signaler un problème.
Déposez un problème dans le référentiel GitHub de l’agent de mise à niveau.
Prerequisites
Configurez GitHub Copilot mise à niveau dans votre environnement de développement avant d’utiliser l’agent. Pour connaître les étapes d’installation, consultez Installer GitHub Copilot mise à niveau.
Mettre à niveau des projets .NET
L’agent de mise à niveau prend en charge la mise à niveau de C# et Visual Basic projets des types suivants :
- ASP.NET Core (et technologies connexes telles que MVC, Razor Pages et API web)
- ASP.NET Web Forms
- Blazor
- Azure Functions
- Windows Presentation Foundation (WPF)
- Windows Forms
- WinUI
- .NET MAUI et Xamarin
- bibliothèques de classes ;
- Applications de console
- Projets de test (MSTest, NUnit et xUnit)
Pour démarrer une mise à niveau, consultez Mettre à niveau une application .NET avec GitHub Copilot mise à niveau.
Chemins de mise à niveau pris en charge
L’agent prend en charge les chemins de mise à niveau suivants :
| Source | Cible |
|---|---|
| .NET Framework (n’importe quelle version) | .NET 8 ou version ultérieure |
| .NET Framework (n’importe quelle version) | .NET Framework 4.8.1 |
| .NET Core 1.x–3.x | .NET 8 ou version ultérieure |
| .NET 5 ou version ultérieure | .NET 8 ou version ultérieure |
Migrer des projets .NET vers Azure
Pour migrer vos applications .NET vers Azure, utilisez l’agent de modernisation GitHub Copilot. L’agent de modernisation gère des scénarios spécifiques Azure tels que la migration de base de données, le stockage, l’identité, la messagerie et le déploiement.
Surveiller les mises à niveau avec le tableau de bord
Le tableau de bord de mise à niveau fournit une vue visuelle d’une session de mise à niveau dans l’interface CLI GitHub Copilot et l’application GitHub Copilot. Utilisez ses panneaux pour suivre la progression globale, les scénarios, les tâches, les projets, les dépendances, les résultats de l’évaluation, les options de mise à niveau et l’activité de l’agent.
Pour ouvrir le tableau de bord, demandez Copilot l’afficher pendant une session de mise à niveau. Le tableau de bord n'est actuellement pas disponible dans Visual Studio, Visual Studio Code ou d'autres IDE. Pour plus d’informations sur chaque panneau, consultez Surveiller les mises à niveau avec le tableau de bord de mise à niveau.
Fonctionnement
Pour démarrer une mise à niveau ou un processus de migration, consultez :
Démarrez l’agent à l’aide de l’une des méthodes suivantes :
-
Visual Studio : cliquez avec le bouton droit sur la solution ou le projet dans Explorateur de solutions et sélectionnez Modernize. Vous pouvez également ouvrir la fenêtre gitHub Copilot Chat et taper
@Modernize. -
Visual Studio Code : ouvrez le panneau GitHub Copilot Chat et tapez
@upgrade. -
GitHub Copilot CLI : tapez
@upgradesuivi de votre demande de mise à niveau ou de migration. -
GitHub application Copilot : dans le sélecteur d’agent, sélectionnez
Upgrade.
-
Visual Studio : cliquez avec le bouton droit sur la solution ou le projet dans Explorateur de solutions et sélectionnez Modernize. Vous pouvez également ouvrir la fenêtre gitHub Copilot Chat et taper
Indiquez à l’agent ce qu’il faut mettre à niveau ou migrer.
Lorsque vous demandez à l'agent de mise à niveau de mettre à niveau votre application, Copilot vous invite d'abord à créer une branche si vous travaillez dans un référentiel Git. Ensuite, Copilot évalue votre projet et exécute un flux de travail en trois étapes. Chaque étape produit des fichiers Markdown sous .github/upgrades/{scenarioId} votre référentiel afin de pouvoir passer en revue ce qui se passe ensuite avant de continuer. Si .github/upgrades/{scenarioId} existe déjà suite à une tentative précédente, Copilot demande s’il faut continuer ou démarrer à nouveau.
Copilot commence par examiner la structure, les dépendances et les modèles de code de votre projet pour générer une évaluation complète. Le assessment.md fichier répertorie les changements cassants, les problèmes de compatibilité des API, les modèles déconseillés et l’étendue de mise à niveau.
Après l’évaluation, Copilot exécute les trois étapes suivantes :
Assessment : Copilot examine la structure, les dépendances et les modèles de code de votre projet, puis présente des décisions de stratégie pour votre révision, telles que la stratégie de mise à niveau (bas en haut, haut ou tout-à-la-fois), l’approche de mise à niveau de projet, les options de modernisation des technologies et la gestion de compatibilité. Copilot enregistre les décisions confirmées dans
upgrade-options.md.Planning : Copilot convertit l’évaluation et vos options confirmées en spécification détaillée. Le
plan.mdfichier documente les stratégies de mise à niveau, les approches de refactorisation, les chemins de dépendance et les atténuations des risques.Execution : Copilot décompose le plan en tâches séquentielles concrètes avec des critères de validation dans
tasks.md. Chaque tâche décrit une modification unique et la façon dont Copilot confirme qu’elle a réussi.
Modifiez l’un des fichiers Markdown dans .github/upgrades/{scenarioId} pour ajuster les étapes de mise à niveau ou ajouter du contexte avant de continuer.
Stratégies de mise à niveau
Pendant la phase d’évaluation, l’agent évalue votre solution et recommande l’une des stratégies suivantes :
| Strategy | Idéal pour | Description |
|---|---|---|
| Bas en haut | Solutions volumineuses avec des graphiques de dépendances profonds | Met à niveau d'abord les projets de niveau inférieur, puis remonte progressivement vers le haut. |
| Haut vers le bas | Commentaires rapides sur l’application principale | Met à niveau d’abord le projet d’application, puis corrige les dépendances. |
| Tout-à-la-fois | Petites solutions simples | Met à niveau tous les projets en une seule passe. |
Modes de flux
L’agent prend en charge deux modes de flux qui contrôlent la durée de ses pauses en attente de votre saisie :
- Automatique: L’agent fonctionne à travers toutes les étapes sans interrompre, s’arrêter uniquement aux bloqueurs authentiques. Idéal pour les utilisateurs expérimentés et les mises à niveau simples.
- Guidé: L’agent s’interrompt à chaque limite de phase afin de pouvoir passer en revue l’évaluation, le plan et les tâches avant de continuer. Idéal pour les nouveaux utilisateurs et les solutions complexes.
Basculez entre les modes à tout moment en disant « pause » (pour entrer en mode guidé) ou « continuer » (pour entrer en mode automatique).
Gestion de l'état
L’agent stocke tous les états de mise à niveau dans .github/upgrades/{scenarioId}/. Le dossier contient :
| Fichier | Purpose |
|---|---|
assessment.md |
Analyse de votre solution |
upgrade-options.md |
Décisions de mise à niveau confirmées |
plan.md |
Plan de tâche ordonné |
tasks.md |
Tableau de bord de progression dynamique |
scenario-instructions.md |
Mémoire persistante de l’agent, y compris les préférences, les décisions et les instructions personnalisées |
tasks/{taskId}/task.md |
Étendue et contexte par tâche |
tasks/{taskId}/progress-details.md |
Notes et résultats d’exécution par tâche |
Étant donné que tous les états se trouvent dans ce dossier, vous pouvez fermer votre IDE, basculer entre les sessions ou même basculer entre les environnements de développement (par exemple, démarrer dans VS Code et continuer dans Visual Studio). L’agent récupère là où il s’est arrêté.
Tip
Validez le .github/upgrades/ dossier dans votre branche. L’état validé sert de sauvegarde et permet aux membres de l’équipe d’afficher la progression de la mise à niveau.
Effectuer la mise à niveau
Une fois chaque étape terminée, passez en revue et modifiez les fichiers générés en fonction des besoins, puis indiquez à Copilot de passer à l’étape suivante.
Lorsque vous atteignez la phase Execution, indiquez Copilot de démarrer la mise à niveau. Si Copilot rencontre un problème, il tente d’identifier la cause et d’appliquer un correctif. Si Copilot ne peut pas corriger le problème, il vous demande de l’aide. Lorsque vous intervient, Copilot apprend des modifications que vous apportez et tente de les appliquer automatiquement si le problème revient.
Résultats de la mise à niveau
Lorsque Copilot exécute chaque tâche, il met à jour le fichier tasks.md dans .github/upgrades/{scenarioId} avec l’état de chaque étape. Surveillez la progression en examinant ce fichier. Copilot crée une validation Git pour chaque partie du processus. Vous pouvez donc restaurer les modifications ou examiner ce qui a changé.
Une fois la mise à niveau terminée, Copilot affiche les étapes suivantes dans la réponse de conversation.
Telemetry
L’outil collecte des données sur les types de projets, l’intention de mettre à niveau et la durée de mise à niveau. L’environnement de développement collecte et agrège les données et ne contient aucune information identifiable par l’utilisateur. Pour plus d’informations sur la politique de confidentialité de Microsoft, consultez le Programme d’amélioration de l’expérience client Visual Studio.
Contenu connexe
- Installer GitHub Copilot mise à niveau
- Mettre à niveau une application .NET avec GitHub Copilot mise à niveau
- Surveiller les mises à niveau avec le tableau de bord de mise à niveau
- Concepts de base
- Informations de référence sur les scénarios et les compétences
- Bonnes pratiques
- Résoudre les problèmes de mise à niveau GitHub Copilot
- Faq sur la mise à niveau de GitHub Copilot