Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die Unterschiede zwischen Windows Presentation Foundation (WPF) in .NET und .NET Framework beschrieben. WPF für .NET ist ein Open-Source-Framework, das aus dem Quellcode des ursprünglichen WPF-Systems für .NET Framework geforkt wurde.
Es gibt einige Features von .NET Framework, die .NET nicht unterstützt. Weitere Informationen zu nicht unterstützten Technologien finden Sie unter .NET Framework-Technologien, die auf .NETnicht verfügbar sind.
Projekte im SDK-Format
.NET verwendet Projektdateien im SDK-Stil. Diese Projektdateien unterscheiden sich von den herkömmlichen .NET Framework-Projektdateien, die von Visual Studio verwaltet werden. Um Ihre .NET Framework-WPF-Apps zu .NET zu migrieren, müssen Sie Ihre Projekte konvertieren. Weitere Informationen finden Sie unter So aktualisieren Sie eine WPF-Desktop-App auf .NET 7.
NuGet-Paketverweise
Wenn Ihre .NET Framework-App ihre NuGet-Abhängigkeiten in einer packages.config Datei auflistet, migrieren Sie zum <PackageReference>
Format:
- Öffnen Sie in Visual Studio den Bereich Projektmappen-Explorer.
- Klicken Sie im WPF-Projekt mit der rechten Maustaste auf packages.config>, um packages.config in PackageReferencezu migrieren.
Ein Dialogfeld wird angezeigt, das die berechneten NuGet-Abhängigkeiten auf oberster Ebene zeigt und fragt, welche anderen NuGet-Pakete auf diese Ebene heraufgestuft werden sollen. Wählen Sie OK aus, und die packages.config Datei wird aus dem Projekt entfernt, und <PackageReference>
Elemente werden der Projektdatei hinzugefügt.
Wenn Ihr Projekt <PackageReference>
verwendet, werden Pakete nicht lokal in einem Pakete Ordner gespeichert, sie werden global gespeichert. Öffnen Sie die Projektdatei, und entfernen Sie alle <Analyzer>
Elemente, die auf den Ordner Pakete verwiesen haben. Diese Analysetools sind automatisch in den NuGet-Paketverweisen enthalten.
Codezugriffssicherheit
Code Access Security (CAS) wird von modernem .NET nicht unterstützt, es handelt sich um ein .NET Framework-Only-Konzept. Alle CAS-bezogenen Funktionen gelten als vollständig vertrauenswürdig. In WPF für .NET wird CAS-bezogener Code entfernt. Die öffentliche API-Oberfläche dieser Typen ist weiterhin vorhanden, um sicherzustellen, dass Aufrufe in diese Typen erfolgreich sind.
Öffentlich definierte CAS-bezogene Typen wurden aus den WPF-Assemblys und in die Core .NET-Bibliotheksassemblys verschoben. Für die WPF-Assemblys ist die Typweiterleitung an den neuen Speicherort der verschobenen Typen festgelegt.
Quellassembly | Zielassembly | 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 |
Hinweis
Um Portierungshürden zu minimieren, wurden die Funktionen zum Speichern und Abrufen von Informationen im Zusammenhang mit den folgenden Eigenschaften im Typ XamlAccessLevel
beibehalten.
PrivateAccessToTypeName
AssemblyNameString
.NET Desktop feedback