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.
.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:
Öppna fönstret Solution Explorer i Visual Studio.
I WPF-projektet högerklickar du på packages.config>Migrera packages.config till PackageReference.
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.
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
Samarbeta med oss på GitHub
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.
Feedback om .NET Desktop feedback
.NET Desktop feedback är ett öppen källkod projekt. Välj en länk för att ge feedback:
Windows-utvecklare har olika alternativ för att skapa program som körs i Windows. I den här modulen introduceras de Windows-gränssnittsramverk som är tillgängliga för Windows-utveckling. Det ger också vägledning om hur du väljer det bästa ramverket för ditt program.