Megosztás a következőn keresztül:


Különbségek a WPF .NET-tel

Ez a cikk a .NET-en és a .NET-keretrendszeren futó Windows Presentation Foundation (WPF) közötti különbségeket ismerteti. A WPF for .NET egy nyílt forráskódú keretrendszer, amely az eredeti WPF for .NET Framework forráskódjából lett leágaztatva.

A .NET-keretrendszernek van néhány olyan funkciója, amelyet a .NET nem támogat. A nem támogatott technológiákról további információt a ".NET-keretrendszer-technológiák a .NET-en nem érhetők el" című résznél talál.

SDK-stílusú projektek

A .NET SDK-stílusú projektfájlokat használ. Ezek a projektfájlok eltérnek a Visual Studio által kezelt hagyományos .NET-keretrendszer-projektfájloktól. A .NET-keretrendszer WPF-alkalmazásainak .NET-be való migrálásához át kell alakítania a projektjeit. További információért lásd: Hogyan frissítsük a WPF asztali alkalmazást .NET 7-re.

NuGet-csomaghivatkozások

Ha a .NET-keretrendszeralkalmazás egy packages.config fájlban listázza a NuGet-függőségeit, migráljon a <PackageReference> formátumba:

  1. Nyissa meg a Megoldáskezelő panelt a Visual Studióban.
  2. A WPF-projektben kattintson a jobb gombbal a(z) packages.config>elem(ek)re, majd válassza a(z) packages.config átalakítását PackageReference-ra.

A Visual Studio Megoldáskezelőjének helyi menüje, amely megjeleníti a

Megjelenik egy párbeszédpanel, amelyen a számított legfelső szintű NuGet-függőségek jelennek meg, és megkérdezi, hogy mely más NuGet-csomagokat kell előléptetni a legfelső szintre. Válassza OK lehetőséget, és a packages.config fájl el lesz távolítva a projektből, és <PackageReference> elemek lesznek hozzáadva a projektfájlhoz.

Amikor a projekt <PackageReference>-t használja, a csomagok nem helyileg, a Csomagok mappában, hanem globálisan vannak tárolva. Nyissa meg a projektfájlt, és távolítsa el a <Analyzer> mappára hivatkozó elemeket. Ezek az elemzők automatikusan szerepelnek a NuGet-csomaghivatkozások között.

Kódhozzáférés biztonsága

A code Access Security (CAS) használatát a modern .NET nem támogatja, ez egy .NET-keretrendszerre vonatkozó fogalom. A CAS-tal kapcsolatos összes funkció a teljes megbízhatóság feltételezése alapján lesz kezelve. A .NET-hez készült WPF eltávolítja a CAS-hoz kapcsolódó kódot. Az ilyen típusú nyilvános API-felület továbbra is létezik, hogy az ilyen típusú hívások sikeresek legyenek.

A nyilvánosan definiált CAS-hoz kapcsolódó típusok ki lettek helyezve a WPF szerelvényekből, és átkerültek a Core .NET könyvtári szerelvényekbe. A WPF-szerelvények típustovábbítási beállítása az áthelyezett típusok új helyére van beállítva.

Forrásszerelvény Célösszeszerelés típus
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

Megjegyzés:

A portolási súrlódás minimalizálása érdekében a következő tulajdonságokhoz kapcsolódó információk tárolására és lekérésére szolgáló funkciók megmaradtak a XamlAccessLevel típusban.

  • PrivateAccessToTypeName
  • AssemblyNameString