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
- Système d’exploitation Windows.
- Téléchargez et extrayez l’application de démonstration utilisée avec cet article.
- Visual Studio 2022 version 17.12 ou ultérieure pour cibler .NET 9.
- Extension De l’Assistant Mise à niveau .NET pour Visual Studio.
É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 :
Cliquez avec le bouton droit sur le projet MatchingGame.Logic dans la fenêtre Explorateur de solutions, puis sélectionnez Mettre à niveau :
Un nouvel onglet est ouvert qui vous invite à choisir la mise à niveau que vous souhaitez effectuer.
Sélectionnez Mise à niveau de projet sur place.
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.
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.
Une fois la mise à niveau terminée, les résultats sont affichés :
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.
- Une fois la migration terminée, double-cliquez sur le projet MatchingGame.Logic dans la fenêtre Explorateur de solutions.
- Recherchez l’élément
<Project>/<PropertyGroup>
. - Dans l’éditeur XML, remplacez la valeur par
<TargetFramework>
net9.0
net9.0-windows
. - 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.
- Cliquez avec le bouton droit sur le projet MatchingGame dans la fenêtre Explorateur de solutions, puis sélectionnez Mettre à niveau :
- Sélectionnez Mise à niveau de projet sur place.
- Sélectionnez .NET 9.0 pour le framework cible, puis sélectionnez Suivant.
- 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 :
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.
- Cliquez avec le bouton droit sur le projet MatchingGame dans la fenêtre Explorateur de solutions, puis sélectionnez Nettoyer.
- 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 .
Contenu connexe
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.
.NET Desktop feedback