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>
:
- Dans Visual Studio, ouvrez le volet de l’Explorateur de solutions
. - Dans votre projet WPF, cliquez avec le bouton droit sur packages.config>Migrer packages.config vers packageReference.
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
.NET Desktop feedback