Rozdíly u WPF .NET

Tento článek popisuje rozdíly mezi windows Presentation Foundation (WPF) v .NET a .NET Framework. WPF pro .NET je opensourcová architektura rozvětvovaná z původního zdrojového kódu WPF pro .NET Framework.

Existuje několik funkcí rozhraní .NET Framework, které .NET nepodporuje. Další informace o nepodporovaných technologiích naleznete v tématu Technologie rozhraní .NET Framework nedostupné v .NET.

Důležité

Dokumentace k desktopové příručce pro .NET 7 a .NET 6 se právě připravuje.

Projekty ve stylu sady SDK

.NET používá soubory projektů ve stylu sady SDK. Tyto soubory projektu se liší od tradičních souborů projektu rozhraní .NET Framework spravovaných sadou Visual Studio. Pokud chcete migrovat aplikace WPF rozhraní .NET Framework do .NET, musíte projekty převést. Další informace najdete v tématu Postup upgradu desktopové aplikace WPF na .NET 7.

Odkazy na balíčky NuGet

Pokud vaše aplikace .NET Framework vypíše závislosti NuGet v souboru packages.config , migrujte do <PackageReference> formátu:

  1. V sadě Visual Studio otevřete podokno Průzkumník řešení.
  2. V projektu WPF klikněte pravým tlačítkem na packages.config>Migrate packages.config do PackageReference.

Upgrading to PackageReference.

Zobrazí se dialogové okno zobrazující počítané závislosti NuGet nejvyšší úrovně a dotaz, které další balíčky NuGet mají být povýšeny na nejvyšší úroveň. Vyberte OK a soubor packages.config bude odebrán z projektu a <PackageReference> prvky budou přidány do souboru projektu.

Pokud váš projekt používá <PackageReference>, balíčky se neukládají místně ve složce Packages , ukládají se globálně. Otevřete soubor projektu a odeberte všechny <Analyzer> prvky, které odkazují na složku Packages . Tyto analyzátory se automaticky zahrnou do odkazů na balíčky NuGet.

Zabezpečení přístupu kódu

.NET nepodporuje zabezpečení přístupu kódu (CAS). Všechny funkce související s CAS se považují za předpokladu plné důvěryhodnosti. WPF pro .NET odebere kód související s CAS. Veřejná plocha rozhraní API těchto typů stále existuje, aby se zajistilo, že volání těchto typů budou úspěšná.

Veřejně definované typy související s CAS byly přesunuty ze sestavení WPF a do sestavení knihovny Core .NET. Sestavení WPF mají nastaveno předávání typů na nové umístění přesunutých typů.

Zdrojové sestavení Cílové sestavení 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

Poznámka:

Aby se minimalizovalo tření portů, funkce pro ukládání a načítání informací souvisejících s následujícími vlastnostmi byla v XamlAccessLevel typu zachována.

  • PrivateAccessToTypeName
  • AssemblyNameString