Partager via


Migrer du .NET Framework Windows Forms vers .NET

Cet article explique comment mettre à niveau une application de bureau Windows Forms vers .NET à l’aide de l’Assistant Mise à niveau .NET. Windows Forms reste une infrastructure Windows uniquement, même si .NET est une technologie multiplateforme.

Prérequis

Évaluation

Vous devez analyser vos projets avant d’effectuer une mise à niveau. L’exécution d’une analyse du code sur vos projets avec l’Assistant Mise à niveau .NET génère un rapport auquel vous pouvez vous référer pour identifier les bloqueurs de migration potentiels.

Pour analyser vos projets et générer un rapport, cliquez avec le bouton droit sur le fichier solution dans Explorateur de solutions, puis sélectionnez Mettre à niveau. Pour plus d’informations sur l’exécution d’une analyse, consultez Analyser des projets avec l’Assistant Mise à niveau .NET.

Migrer des dépendances

Si vous mettez à niveau plusieurs projets, commencez par des projets qui n’ont aucune dépendance. Dans l’exemple De jeu correspondant, le projet MatchingGame dépend de la bibliothèque MatchingGame.Logic . Par conséquent , MatchingGame.Logic doit d’abord être mis à niveau.

Conseil

Veillez à disposer d’une sauvegarde de votre code, par exemple dans le contrôle de code source ou une copie.

Procédez comme suit pour mettre à niveau un projet dans Visual Studio :

  1. Cliquez avec le bouton droit sur le projet MatchingGame.Logic dans la fenêtre Explorateur de solutions, puis sélectionnez Mettre à niveau :

    Capture d’écran de l’élément de menu Mise à niveau de l’Assistant Mise à niveau .NET dans Visual Studio.

    Un nouvel onglet est ouvert qui vous invite à choisir la mise à niveau que vous souhaitez effectuer.

  2. Sélectionnez Mise à niveau de projet sur place.

    Capture d’écran de l’onglet Assistant Mise à niveau .NET. L’option « Mise à niveau de projet sur place » est mise en surbrillance.

  3. Ensuite, sélectionnez l’infrastructure cible.

    En fonction du type de projet que vous mettez à niveau, vous disposez de différentes options. .NET Standard 2.0 peut être utilisé par .NET Framework et .NET. Il s’agit d’un bon choix si la bibliothèque ne s’appuie pas sur une technologie de bureau comme Windows Forms, que ce projet fait.

    Sélectionnez .NET 9.0 , puis sélectionnez Suivant.

    Capture d’écran de l’Assistant Mise à niveau .NET. L’invite de framework cible est ouverte et .NET 8 est mis en surbrillance avec le bouton « Suivant ».

  4. Une arborescence s’affiche avec tous les artefacts liés au projet, tels que les fichiers de code et les bibliothèques. Vous pouvez mettre à niveau des artefacts individuels ou l’ensemble du projet, qui est la valeur par défaut. Sélectionnez Mettre à niveau la sélection pour démarrer la mise à niveau.

    Capture d’écran de l’Assistant Mise à niveau .NET. La page « Sélectionner les composants » est ouverte avec le bouton « Mettre à niveau la sélection » mis en surbrillance.

  5. Une fois la mise à niveau terminée, les résultats sont affichés :

    Capture d’écran de l’onglet Résultats de la mise à niveau de l’Assistant Mise à niveau .NET, montrant les éléments migrés du projet.

    Les artefacts avec un cercle vert unie ont été mis à niveau alors que les cercles verts vides ont été ignorés. Les artefacts ignorés signifient que l’Assistant mise à niveau n’a rien trouvé à mettre à niveau.

Maintenant que la bibliothèque de prise en charge de l’application est mise à niveau, mettez à niveau l’application principale.

Remarques pour les projets Visual Basic

Actuellement, l’Assistant Mise à niveau .NET ne reconnaît pas l’utilisation du fichier de System.Configuration paramètres créé par les modèles Visual Basic sur .NET Framework. Il ne respecte pas également l’utilisation des extensions utilisées dans les My projets .NET Framework, tels que My.Computer et My.User. Ces extensions ont été supprimées dans .NET. En raison de ces deux problèmes, une bibliothèque Visual Basic ne sera pas compilée après la migration avec l’Assistant Mise à niveau .NET.

Pour résoudre ce problème, le projet doit cibler Windows et référencer Windows Forms.

  1. Une fois la migration terminée, double-cliquez sur le projet MatchingGame.Logic dans la fenêtre Explorateur de solutions.
  2. Recherchez l’élément <Project>/<PropertyGroup>.
  3. Dans l’éditeur XML, remplacez la valeur par <TargetFramework>net9.0net9.0-windows.
  4. Ajouter <UseWindowsForms>true</UseWindowsForms> à la ligne après <TargetFramework>.

Les paramètres du projet doivent ressembler à l’extrait de code suivant :

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net9.0-windows</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <OutputType>Library</OutputType>
    <MyType>Windows</MyType>

    ... other settings removed for brevity ...

Migrer le projet principal

Une fois que toutes les bibliothèques de prise en charge sont mises à niveau, le projet d’application principal peut être mis à niveau. Avec l’exemple d’application, il n’existe qu’un seul projet de bibliothèque à mettre à niveau, qui a été mis à niveau dans la section précédente.

  1. Cliquez avec le bouton droit sur le projet MatchingGame dans la fenêtre Explorateur de solutions, puis sélectionnez Mettre à niveau :
  2. Sélectionnez Mise à niveau de projet sur place.
  3. Sélectionnez .NET 9.0 pour le framework cible, puis sélectionnez Suivant.
  4. Laissez tous les artefacts sélectionnés et sélectionnez Mettre à niveau la sélection.

Une fois la mise à niveau terminée, les résultats sont affichés. Notez comment le projet Windows Forms a un symbole d’avertissement. Développez cet élément et plus d’informations s’affichent à propos de cette étape :

Capture d’écran de l’onglet Résultats de la mise à niveau de l’Assistant Mise à niveau .NET, montrant certains des éléments de résultat avec des symboles d’avertissement.

Notez que le composant de mise à niveau du projet mentionne que la police par défaut a changé. Étant donné que la police peut affecter la disposition du contrôle, vous devez vérifier chaque formulaire et contrôle personnalisé dans votre projet pour vous assurer que l’interface utilisateur est correctement organisée.

Générer une build propre

Une fois votre projet principal mis à niveau, nettoyez et compilez-le.

  1. Cliquez avec le bouton droit sur le projet MatchingGame dans la fenêtre Explorateur de solutions, puis sélectionnez Nettoyer.
  2. Cliquez avec le bouton droit sur le projet MatchingGame dans la fenêtre Explorateur de solutions, puis sélectionnez Générer.

Si votre application a rencontré des erreurs, vous pouvez les trouver dans la fenêtre Liste d’erreurs avec une recommandation pour les corriger.

L’exemple de projet de jeu correspondant Windows Forms est désormais mis à niveau vers .NET 9.

Expérience post-mise à niveau

Si vous transférez une application de .NET Framework vers .NET, passez en revue la modernisation après la mise à niveau vers .NET à partir de l’article .NET Framework .

  • Portage de .NET Framework vers .NET.

    Le guide de portage fournit une vue d’ensemble de ce que vous devez prendre en compte lors du portage de votre code à partir de .NET Framework vers .NET. La complexité de vos projets détermine la quantité de travail que vous allez effectuer après la migration initiale des fichiers projet.

  • Moderniser après la mise à niveau vers .NET à partir de .NET Framework.

    Le monde de .NET a beaucoup changé depuis .NET Framework. Ce lien fournit des informations sur la modernisation de votre application après la mise à niveau.