Partager via


Différences avec WPF .NET

Cet article décrit les différences entre Windows Presentation Foundation (WPF) sur .NET et .NET Framework. WPF pour .NET est un framework open source dérivé du code source original de WPF pour .NET Framework.

Il existe quelques fonctionnalités de .NET Framework que .NET ne prend pas en charge. Pour plus d’informations sur les technologies non prises en charge, consultez technologies .NET Framework non disponibles sur .NET.

Projets au format SDK

.NET utilise des fichiers projet de style SDK. Ces fichiers projet sont différents des fichiers projet .NET Framework traditionnels gérés par Visual Studio. Pour migrer vos applications WPF .NET Framework vers .NET, vous devez convertir vos projets. Pour plus d’informations, consultez Comment mettre à niveau une application de bureau WPF vers .NET 7.

Références de package NuGet

Si votre application .NET Framework répertorie ses dépendances NuGet dans un fichier packages.config, migrez vers le format <PackageReference> :

  1. Dans Visual Studio, ouvrez le volet de l’Explorateur de solutions .
  2. Dans votre projet WPF, cliquez avec le bouton droit sur packages.config>Migrer packages.config vers packageReference.

le menu contextuel de l’Explorateur de solutions dans Visual Studio, affichant l’élément « Migrer packages.config».

Une boîte de dialogue s’affiche montrant les dépendances NuGet de niveau supérieur calculées et demandant quels autres packages NuGet doivent être promus au niveau supérieur. Sélectionnez ok et le fichier packages.config sera supprimé du projet et <PackageReference> éléments seront ajoutés au fichier projet.

Lorsque votre projet utilise <PackageReference>, les packages ne sont pas stockés localement dans un dossier Packages, ils sont stockés globalement. Ouvrez le fichier projet et supprimez tous les éléments <Analyzer> qui ont fait référence au dossier Packages. Ces analyseurs sont automatiquement inclus avec les références de package NuGet.

Sécurité de l’accès au code

La sécurité d’accès au code (CAS) n’est pas prise en charge par .NET. Toutes les fonctionnalités liées au CAS sont traitées sous l'hypothèse de la confiance totale. WPF pour .NET supprime le code lié au système d’administration centrale. La surface d’API publique de ces types existe toujours pour s’assurer que les appels à ces types réussissent.

Les types liés à CAS définis publiquement ont été déplacés hors des assemblys WPF et dans les assemblys des bibliothèques .NET Core. Les assemblies WPF ont une redirection de type définie vers le nouvel emplacement des types déplacés.

Assemblage source Assemblée cible Type
WindowsBase.dll System.Security.Permissions.dll MediaPermission
MediaPermissionAttribute
MediaPermissionAudio
MediaPermissionImage
MediaPermissionVideo
WebBrowserPermission
WebBrowserPermissionAttribute
WebBrowserPermissionLevel
System.Xaml.dll System.Security.Permissions.dll XamlLoadPermission
System.Xaml.dll System.Windows.Extension.dll XamlAccessLevel

Note

Pour réduire les frictions de portage, les fonctionnalités de stockage et de récupération des informations relatives aux propriétés suivantes ont été conservées dans le type de XamlAccessLevel.

  • PrivateAccessToTypeName
  • AssemblyNameString