Delen via


Verschillen met WPF .NET

In dit artikel worden de verschillen tussen Windows Presentation Foundation (WPF) op .NET en .NET Framework beschreven. WPF voor .NET is een opensource-framework geforkt uit de oorspronkelijke WPF voor .NET Framework-broncode.

Er zijn enkele functies van .NET Framework die niet door .NET worden ondersteund. Zie .NET Framework-technologieën niet beschikbaar zijn op .NETvoor meer informatie over niet-ondersteunde technologieën.

SDK-projecten

.NET maakt gebruik van projectbestanden in SDK-stijl. Deze projectbestanden verschillen van de traditionele .NET Framework-projectbestanden die worden beheerd door Visual Studio. Als u uw .NET Framework WPF-apps wilt migreren naar .NET, moet u uw projecten converteren. Zie Een WPF-bureaublad-app upgraden naar .NET 7voor meer informatie.

NuGet-pakketverwijzingen

Als uw .NET Framework-app de NuGet-afhankelijkheden in een packages.config-bestand vermeldt, migreert u naar de <PackageReference>-indeling:

  1. Open in Visual Studio het deelvenster Solution Explorer.
  2. Klik in uw WPF-project met de rechtermuisknop op packages.config>Migreer packages.config naar PackageReference.

het contextmenu van Solution Explorer in Visual Studio, waarin het item 'Migreren packages.config' wordt weergegeven.

Er wordt een dialoogvenster weergegeven met berekende NuGet-afhankelijkheden op het hoogste niveau en wordt gevraagd welke andere NuGet-pakketten moeten worden gepromoveerd naar het hoogste niveau. Selecteer OK- en het packages.config bestand wordt uit het project verwijderd en <PackageReference> elementen worden toegevoegd aan het projectbestand.

Wanneer uw project gebruikmaakt van <PackageReference>, worden pakketten niet lokaal opgeslagen in een map Pakketten, worden ze wereldwijd opgeslagen. Open het projectbestand en verwijder <Analyzer> elementen die naar de map Packages verwijzen. Deze analyses worden automatisch opgenomen in de NuGet-pakketverwijzingen.

Beveiliging van codetoegang

Code Access Security (CAS) wordt niet ondersteund door .NET. Alle CAS-gerelateerde functionaliteit wordt behandeld onder aanname van volledig vertrouwen. WPF voor .NET verwijdert CAS-gerelateerde code. Het openbare API-oppervlak van deze typen bestaat nog steeds om ervoor te zorgen dat aanroepen naar deze typen slagen.

Publiekelijk gedefinieerde CAS-gerelateerde typen zijn verplaatst uit de WPF-assemblages en in de Core.NET-bibliotheekassemblages. De WPF-assemblies hebben type-doorverwijzing ingesteld naar de nieuwe locatie van de verplaatste types.

Bronassemblage Doelsamenstelling 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

Notitie

Om migratiewrijving te minimaliseren, werd de functionaliteit voor het opslaan en ophalen van informatie met betrekking tot de volgende eigenschappen gehandhaafd in het XamlAccessLevel type.

  • PrivateAccessToTypeName
  • AssemblyNameString