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 les technologies .NET Framework non disponibles sur .NET.

Projets de style 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 <PackageReference> format :

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

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> les é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 <Analyzer> éléments 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 moderne, il s’agit d’un concept .NET Framework uniquement. Toutes les fonctionnalités liées à CAS sont traitées selon le présupposé de pleine confiance. 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 à la sécurité d'accès au code (CAS) définis publiquement ont été déplacés hors des assemblages WPF et vers les assemblages des bibliothèques de .NET Core. Les assemblys WPF ont un transfert de type défini sur le nouvel emplacement des types déplacés.

Assemblage source Assemblage cible Catégorie
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

Remarque

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 XamlAccessLevel type.

  • PrivateAccessToTypeName
  • AssemblyNameString