Moderniser après la mise à niveau vers .NET à partir de .NET Framework
Article
Dans cet article, vous allez découvrir différentes façons de moderniser votre application après sa mise à niveau de .NET Framework vers .NET. Utilisez l’outil Assistant de mise à niveau de .NET pour mettre à niveau votre application vers .NET.
API manquantes
Lors de la mise à niveau d’une application .NET Framework, vous aurez probablement des incompatibilités. Cela est dû au fait que .NET Framework est une technologie Windows uniquement, et que .NET est une technologie multiplateforme. Certaines bibliothèques ne le sont pas. Par exemple, .NET ne fournit pas d’API prêtes à l’emploi pour accéder au Registre Windows, comme le fait .NET Framework. La prise en charge du Registre Windows est assurée par le package NuGet Microsoft.Win32.Registry. De nombreuses bibliothèques spécifiques à .NET Framework ont été transférées vers .NET ou .NET Standard et sont hébergées sur NuGet. Si vous trouvez une référence manquante dans votre projet, recherchez sur NuGet.
Pack de compatibilité Windows
Si, après la migration, vous avez des dépendances sur les API .NET Framework qui ne sont pas prises en charge sur votre nouvelle version de .NET, vous pouvez les trouver dans le package NuGet Microsoft.Windows.Compatibility. Il ajoute environ 20 000 API à votre projet .NET, ce qui augmente considérablement l’ensemble d’API disponibles pour votre projet. Ces API incluent des API pour Windows uniquement, comme celles liées à Windows Management Instrumentation (WMI) et à Windows EventLog. Pour plus d’informations, consultez Utiliser le pack de compatibilité Windows pour porter le code vers .NET
Contrôle du navigateur web
Les projets qui ciblent une technologie de bureau Windows, comme Windows Presentation Foundation ou Windows Forms, peuvent inclure un contrôle de navigateur web. Le contrôle de navigateur web fourni a probablement été conçu avant HTML5 et d’autres technologies web modernes, et est considéré comme obsolète. Microsoft publie le package NuGet Microsoft.Web.WebView2 en remplacement du contrôle de navigateur web moderne.
App.config
.NET Framework utilise le fichier App.config pour charger les paramètres de votre application, comme les chaînes de connexion et la configuration du fournisseur de journalisation. .NET moderne utilise désormais le fichier appsettings.json pour les paramètres de l’application. La version CLI de l’assistant de mise à niveau gère la conversion des fichiers App.config en appsettings.json, mais pas l’extension Visual Studio.
Conseil
Si vous ne souhaitez pas utiliser le fichier appsettings.json, vous pouvez ajouter le package NuGet System.Configuration.ConfigurationManager à votre application, et votre code compilera et utilisera le fichier App.config.
Même si appsettings.json est le moyen moderne de stocker et de récupérer les paramètres et les chaînes de connexion, votre application utilise toujours le code qui s’appuie sur le fichier App.config. Lorsque votre application a été migrée, le package NuGet System.Configuration.ConfigurationManager a été ajouté au projet, afin que votre code utilisant le fichier App.config continue de compiler.
À mesure que les bibliothèques sont mises à niveau vers .NET, elles se modernisent en prenant en charge appsettings.json au lieu de App.config. Par exemple, les fournisseurs de journalisation dans .NET Framework qui ont été mis à niveau pour .NET 6+ n’utilisent plus App.config pour les paramètres. Il est bon pour vous de suivre leur direction et de vous éloigner de l’utilisation de App.config.
La prise en charge d’appsettings.json est assurée par le package NuGet Microsoft.Extensions.Configuration.
Pour utiliser le fichier appsettings.json comme fournisseur de configuration, procédez comme suit :
Supprimez le package ou la bibliothèque NuGet System.Configuration.ConfigurationManager si vous y faites référence dans votre application mise à niveau.
Ajoutez le package NuGet Microsoft.Extensions.Configuration.Json.
Créez un fichier nommé appsettings.json.
Dans la fenêtre de l’Explorateur de solutions, cliquez avec le bouton droit de la souris sur le fichier projet, puis sélectionnez Ajouter>Nouvel élément.
Dans la zone de recherche, entrez json.
Sélectionnez le modèle Fichier de configuration JSON JavaScript et définissez le Nom sur appsettings.json.
Appuyez sur Ajouter pour ajouter le nouveau fichier au projet.
Définissez le fichier appsettings.json à copier dans le répertoire de sortie.
Dans la fenêtre de l’Explorateur de solutions, recherchez le fichier appsettings.json et définissez les Propriétés suivantes :
Action de génération : Contenu
Copier dans le répertoire de sortie : Toujours copier
Dans le code de démarrage de votre application, vous devez charger le fichier de paramètres.
Le code de démarrage de votre application varie en fonction du type de projet. Par exemple, une application WPF utilise le fichier App.xaml.cs pour l’installation globale, et une application Windows Forms utilise la méthode Program.Main pour le démarrage. Dans tous les cas, vous devez effectuer deux opérations au démarrage :
Créez un membre internal static (Friend Shared en Visual Basic) accessible depuis n’importe où dans votre application.
Au démarrage, attribuez une instance à ce membre.
L’exemple suivant crée un membre nommé Config, l’affecte à une instance de la méthode Main et charge une chaîne de connexion :
C#
using Microsoft.Extensions.Configuration;
internalclassProgram
{
internalstatic IConfiguration Config { get; privateset; }
privatestaticvoidMain(string[] args)
{
Config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
// Use the config file to get a connection stringstring? myConnectionString = Config.GetConnectionString("database");
// Run the rest of your app
}
}
Imports Microsoft.Extensions.Configuration
Module Program
Private _config As IConfiguration
' Shared not required since Program is a Module
Friend Property Config As IConfiguration
Get
Return _config
End Get
Private Set(value As IConfiguration)
_config = value
End Set
End Property
Sub Main(args As String())
Config = New ConfigurationBuilder() _
.AddJsonFile("appsettings.json") _
.Build()
' Use the config file to get a connection string
Dim myConnectionString As String = Config.GetConnectionString("database")
' Run the rest of your app
End Sub
End Module
Mettez à jour le reste de votre code pour utiliser les nouvelles API de configuration.
Supprimez le fichier App.config du projet.
Attention
Assurez-vous que votre application s’exécute correctement sans le fichier App.config. Sauvegardez le fichier App.config via le contrôle de code source ou en copiant le fichier ailleurs. Une fois que vous avez testé votre application, supprimez le fichier App.config.
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Dans ce module, vous apprendrez quand, pourquoi et comment moderniser une application ASP.NET Framework vers ASP.NET Core à l’aide de l’Assistant Mise à niveau.
Générez des solutions de bout en bout dans Microsoft Azure pour créer des fonctions Azure Functions, implémenter et gérer des applications web, développer des solutions qui utilisent le Stockage Azure, et bien plus encore.