Vue d’ensemble de l’Assistant Mise à niveau de .NET

De nouvelles versions de .NET sont mises en production tout au long de l’année, avec une version majeure une fois par an. L’Assistant Mise à niveau .NET vous aide à mettre à niveau les applications des versions précédentes de .NET, .NET Core et .NET Framework vers la dernière version.

L’Assistant Mise à niveau .NET est une extension Visual Studio et un outil en ligne de commande conçus pour faciliter la mise à niveau des applications vers la dernière version de .NET.

Les problèmes liés à l’Assistant Mise à niveau .NET peuvent être signalés dans Visual Studio en sélectionnant Aide>Envoyer des commentaires>Signaler un problème.

Installer l’Assistant Mise à niveau

L’Assistant Mise à niveau .NET peut être installé en tant qu’extension Visual Studio ou en tant qu’outil en ligne de commande .NET. Pour plus d’informations, consultez Installer l’Assistant Mise à niveau .NET.

Langues prises en charge

Les langages de code suivants sont pris en charge :

  • C#
  • Visual Basic

Projets pris en charge

Les types de projets suivants sont pris en charge :

  • ASP.NET
  • Azure Functions
  • Windows Presentation Foundation
  • Windows Forms
  • bibliothèques de classes ;
  • Applications de console
  • UWP .NET Native
  • Xamarin Forms
  • .NET MAUI

Chemins de mise à jour

Les chemins de mise à niveau suivants sont pris en charge :

  • .NET Framework vers .NET
  • .NET Core vers .NET
  • UWP vers WinUI 3
  • Version précédente de .NET à la dernière version de .NET
  • Azure Functions v1-v3 à v4 isolé
  • Xamarin Forms vers .NET MAUI
    • Les transformations de fichiers XAML prennent uniquement en charge la mise à niveau des espaces de noms. Pour des transformations plus complètes, utilisez Visual Studio 2022 version 17.6 ou ultérieure.

Mettre à niveau avec l’extension Visual Studio

Une fois que vous avez installé l’extension de l’Assistant Mise à niveau .NET, cliquez avec le bouton de droite sur le projet dans la fenêtre Explorateur de solutions, puis sélectionnez Mettre à niveau.

Attention

Veillez à sauvegarder vos projets avant la mise à niveau si vous n’utilisez pas le contrôle de code source.

The .NET Upgrade Assistant's Upgrade menu item in Visual Studio.

Un onglet est ouvert qui fournit, en fonction du type de votre projet, différents styles de mise à niveau :

  • Mise à niveau de projet sur place

    Cette option met à niveau votre projet sans effectuer de copie.

  • Mise à niveau de projet côte à côte

    Copie votre projet et met à niveau la copie, en laissant votre projet d’origine seul.

  • Incrémentielle côte à côte

    Un bon choix pour les applications web complexes. La mise à niveau de ASP.NET vers ASP.NET Core nécessite beaucoup de travail et parfois une refactorisation manuelle. Ce mode place un projet .NET en regard de votre projet .NET Framework existant et achemine les points de terminaison implémentés dans le projet .NET, tandis que tous les autres appels sont envoyés à l’application .NET Framework.

    Ce mode vous permet de mettre à niveau lentement votre application ASP.NET ou bibliothèque, pièce par pièce.

Une fois votre application mise à niveau, un écran d’états s’affiche et affiche tous les artefacts associés à votre projet qui ont été associés à la mise à niveau. Chaque artefact de mise à niveau peut être développé pour lire plus d’informations sur l’état. La liste suivante décrit les icônes d’états :

  • Coche verte remplie : l’artefact a été mis à niveau et s’est terminé avec succès.
  • Coche verte non remplie : l’outil n’a rien trouvé concernant l’artefact à mettre à niveau.
  • Signe d’avertissement jaune : l’artefact a été mis à niveau, mais vous devez prendre en compte des informations importantes.
  • X rouge : l’artefact devait être mis à niveau, mais la mise à niveau a échoué.

The .NET Upgrade Assistant's Upgrade results tab in Visual Studio.

De plus, les actions effectuées par l’Assistant Mise à niveau sont enregistrées dans la fenêtre Sortie sous la source de l’Assistant Mise à niveau, tel qu’illustré dans l’image suivante :

The output window in Visual Studio showing the results from the .NET Upgrade Assistant.

Après la mise à niveau de votre projet, vous devez le tester minutieusement.

Mettre à niveau avec l’outil CLI

Après avoir installé l’outil CLI de l’Assistant Mise à niveau .NET, ouvrez une fenêtre de terminal et accédez au répertoire qui contient le projet que vous souhaitez mettre à niveau. Vous pouvez utiliser la commande upgrade-assistant --help pour afficher les options disponibles de l’interface CLI.

Attention

Veillez à sauvegarder vos projets avant la mise à niveau si vous n’utilisez pas le contrôle de code source.

Exécutez l’outil avec la commande upgrade-assistant upgrade, tous les projets du dossier actif et ci-dessous sont répertoriés. L’outil CLI offre un moyen interactif de choisir le projet à mettre à niveau. Utilisez les touches de direction pour sélectionner un élément, puis appuyez sur Entrée pour exécuter l’élément. Sélectionnez le projet à supprimer. Dans l’exemple fourni par cet article, il existe quatre projets sous le dossier actif :

 Selected options
───────────────────────────────────────────────────────────
 No options specified, follow steps below to continue

 Steps
─────────────────
 Source project
─────────────────

Which project do you want to upgrade (found 9)?

> MatchingGame (winforms\MatchingGame\MatchingGame.csproj)
  MatchingGame.Logic (winforms\MatchingGame.Logic\MatchingGame.Logic.csproj)
  StarVoteControl (csharp\StarVoteControl\StarVoteControl.csproj)
  WebSiteRatings (csharp\WebSiteRatings\WebSiteRatings.csproj)

  Navigation
    Exit

Selon le projet que vous mettez à niveau, une option peut vous être présentée pour spécifier la façon dont la mise à niveau doit se poursuivre :

  • Mise à niveau de projet sur place

    Cette option met à niveau votre projet sans effectuer de copie.

  • Mise à niveau de projet côte à côte

    Cette option est disponible uniquement pour les projets .NET Framework. Copie votre projet et met à niveau la copie, en laissant votre projet d’origine seul.

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\winforms\MatchingGame\MatchingGame.csproj

 Steps
───────────────────────────────
 Source project / Upgrade type
───────────────────────────────

How do you want to upgrade project MatchingGame?

> In-place project upgrade
  Side-by-side project upgrade

  Navigation
    Back
    Exit

Après cette étape, s’il existe plusieurs versions cibles de .Net Framework pouvant être mises à niveau, vous choisirez une cible :

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\Work\dotnet\dotnet-docs\docs\core\porting\snippets\upgrade-assistant-wpf-framework\winforms\MatchingGame\MatchingGame.csproj
 Ugrade type        Inplace

 Steps
──────────────────────────────────────────────────
 Source project / Ugrade type / Target framework
──────────────────────────────────────────────────

What is your preferred target framework?

> .NET 6.0 (Supported until November, 2024)
  .NET 7.0 (Supported until May, 2024)
  .NET 8.0 (Try latest preview features)

  Navigation
    Back
    Exit

Après la mise à niveau de votre projet, vous devez le tester minutieusement.