Läs på engelska

Dela via


Skillnader med WPF .NET

I den här artikeln beskrivs skillnaderna mellan Windows Presentation Foundation (WPF) på .NET och .NET Framework. WPF för .NET är ett ramverk med öppen källkod som har förgrenats från den ursprungliga WPF för .NET Framework-källkoden.

Det finns några funktioner i .NET Framework som .NET inte stöder. Mer information om tekniker som inte stöds finns i .NET Framework-tekniker som inte är tillgängliga på .NET.

SDK-liknande projekt

.NET använder projektfiler i SDK-format. Dessa projektfiler skiljer sig från de traditionella .NET Framework-projektfilerna som hanteras av Visual Studio. Om du vill migrera .NET Framework WPF-appar till .NET måste du konvertera dina projekt. Mer information finns i Uppgradera en WPF-skrivbordsapp till .NET 7.

NuGet-paketreferenser

Om din .NET Framework-app visar en lista över sina NuGet-beroenden i en packages.config fil migrerar du till <PackageReference> format:

  1. Öppna fönstret Solution Explorer i Visual Studio.
  2. I WPF-projektet högerklickar du på packages.config>Migrera packages.config till PackageReference.

Snabbmenyn i Solution Explorer i Visual Studio och visar objektet Migrera packages.config.

En dialogruta visas som visar beräknade NuGet-beroenden på toppnivå och frågar vilka andra NuGet-paket som ska höjas upp till den översta nivån. Välj OK så tas packages.config filen bort från projektet och <PackageReference> element läggs till i projektfilen.

När ditt projekt använder <PackageReference>lagras paketen inte lokalt i en Paket mapp, de lagras globalt. Öppna projektfilen och ta bort alla <Analyzer> element som refererade till mappen Packages. Dessa analysverktyg ingår automatiskt i NuGet-paketreferenserna.

Kodåtkomstsäkerhet

Code Access Security (CAS) stöds inte av .NET. Alla CAS-relaterade funktioner behandlas under antagandet om fullständigt förtroende. WPF för .NET tar bort CAS-relaterad kod. Den offentliga API-ytan för dessa typer finns fortfarande för att säkerställa att anrop till dessa typer lyckas.

Offentligt definierade CAS-relaterade typer flyttades från WPF-sammansättningarna och till Core .NET-bibliotekssammansättningarna. WPF-sammansättningarna har typomdirigering konfigurerad till den nya platsen för de omplacerade typerna.

Källsammansättning Målmontering 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

Anteckning

För att minimera portningsfriktionen bevarades funktionerna för att lagra och hämta information som är relaterad till följande egenskaper i XamlAccessLevel typ.

  • PrivateAccessToTypeName
  • AssemblyNameString