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 forked from the original WPF for .NET Framework source code.
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 du package NuGet
Si votre application .NET Framework répertorie ses dépendances NuGet dans un fichier packages.config , migrez vers le <PackageReference>
format suivant :
- Dans Visual Studio, ouvrez le volet Explorateur de solutions.
- Dans votre projet WPF, cliquez avec le bouton droit sur packages.config>Migrate 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>
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é d'accès du code
La sécurité d’accès au code (CAS) n’est pas prise en charge par .NET. Toutes les fonctionnalités associées au cas sont traitées en fonction de l’hypothèse de 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 au cas définis publiquement ont été déplacés hors des assemblys WPF et dans les assemblys de bibliothèque .NET Core. Les assemblys WPF ont un transfert de type défini sur le nouvel emplacement des types déplacés.
Assembly source | Assembly 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 |
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
.NET Desktop feedback