Różnice między platformą WPF .NET
W tym artykule opisano różnice między programem Windows Presentation Foundation (WPF) na platformie .NET i programie .NET Framework. WPF dla platformy .NET to rozwidlenie open source z oryginalnego kodu źródłowego WPF dla platformy .NET Framework.
Istnieje kilka funkcji programu .NET Framework, których platforma .NET nie obsługuje. Aby uzyskać więcej informacji na temat nieobsługiwanych technologii, zobacz Technologie .NET Framework niedostępne na platformie .NET.
Projekty w stylu zestawu SDK
Platforma .NET używa plików projektu w stylu zestawu SDK. Te pliki projektu różnią się od tradycyjnych plików projektów .NET Framework zarządzanych przez program Visual Studio. Aby przeprowadzić migrację aplikacji .NET Framework WPF do platformy .NET, musisz przekonwertować projekty. Aby uzyskać więcej informacji, zobacz Jak uaktualnić aplikację klasyczną WPF do platformy .NET 7.
Odwołania do pakietów NuGet
Jeśli aplikacja .NET Framework wyświetla jej zależności NuGet w pliku packages.config , przeprowadź migrację do <PackageReference>
formatu:
- W programie Visual Studio otwórz okienko Eksplorator rozwiązań.
- W projekcie WPF kliknij prawym przyciskiem myszy pozycję packages.config Migrate packages.config>to PackageReference.
Zostanie wyświetlone okno dialogowe przedstawiające obliczone zależności NuGet najwyższego poziomu i z pytaniem, które inne pakiety NuGet powinny zostać podniesione do najwyższego poziomu. Wybierz przycisk OK , a plik packages.config zostanie usunięty z projektu, a <PackageReference>
elementy zostaną dodane do pliku projektu.
Gdy projekt używa <PackageReference>
programu , pakiety nie są przechowywane lokalnie w folderze Packages , są przechowywane globalnie. Otwórz plik projektu i usuń wszystkie <Analyzer>
elementy, które odwołyły się do folderu Packages . Te analizatory są automatycznie dołączane do odwołań pakietów NuGet.
Zabezpieczenia dostępu kodu
Zabezpieczenia dostępu kodu (CAS) nie są obsługiwane przez platformę .NET. Wszystkie funkcje związane z usługą CAS są traktowane zgodnie z założeniem pełnego zaufania. WPF dla platformy .NET usuwa kod związany z protokołem CAS. Publiczna powierzchnia interfejsu API tych typów nadal istnieje, aby upewnić się, że wywołania do tych typów kończą się powodzeniem.
Publicznie zdefiniowane typy związane z serwerem CAS zostały przeniesione z zestawów WPF i do podstawowych zestawów bibliotek .NET. Zestawy WPF mają zestawy typu przekazujące typy ustawione na nową lokalizację przeniesionych typów.
Zestaw źródłowy | Zestaw docelowy | Typ |
---|---|---|
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 |
Uwaga
Aby zminimalizować tarcie przenoszenia, funkcjonalność przechowywania i pobierania informacji związanych z następującymi właściwościami została zachowana w typie XamlAccessLevel
.
PrivateAccessToTypeName
AssemblyNameString
.NET Desktop feedback