Perbedaan dengan WPF .NET

Artikel ini menjelaskan perbedaan antara Windows Presentation Foundation (WPF) pada .NET dan .NET Framework. WPF untuk .NET adalah kerangka kerja sumber terbuka yang di-fork dari WPF asli untuk kode sumber .NET Framework.

Ada beberapa fitur .NET Framework yang tidak didukung .NET. Untuk informasi selengkapnya tentang teknologi yang tidak didukung, lihat Teknologi .NET Framework tidak tersedia di .NET.

Penting

Dokumentasi Panduan Desktop untuk .NET 7 dan .NET 6 sedang dibangun.

Proyek bergaya SDK

.NET menggunakan file proyek bergaya SDK. File proyek ini berbeda dari file proyek .NET Framework tradisional yang dikelola oleh Visual Studio. Untuk memigrasikan aplikasi .NET Framework WPF ke .NET, Anda harus mengonversi proyek Anda. Untuk informasi selengkapnya, lihat Cara meningkatkan aplikasi desktop WPF ke .NET 7.

Referensi paket NuGet

Jika aplikasi .NET Framework Anda mencantumkan dependensi NuGet-nya dalam file packages.config , migrasikan ke <PackageReference> format :

  1. Di Visual Studio, buka panel Penjelajah Solusi.
  2. Dalam proyek WPF Anda, klik kanan packages.config>Migrate packages.config ke PackageReference.

Upgrading to PackageReference.

Dialog akan muncul memperlihatkan dependensi NuGet tingkat atas terhitung dan menanyakan paket NuGet lainnya mana yang harus dipromosikan ke tingkat atas. Pilih OK dan file packages.config akan dihapus dari proyek dan <PackageReference> elemen akan ditambahkan ke file proyek.

Saat proyek Anda menggunakan <PackageReference>, paket tidak disimpan secara lokal dalam folder Paket , paket disimpan secara global. Buka file proyek dan hapus elemen apa pun <Analyzer> yang merujuk ke folder Paket . Penganalisis ini secara otomatis disertakan dengan referensi paket NuGet.

Keamanan Akses Kode

Keamanan Akses Kode (CAS) tidak didukung oleh .NET. Semua fungsi terkait CAS diperlakukan dengan asumsi kepercayaan penuh. WPF untuk .NET menghapus kode terkait CAS. Permukaan API publik dari jenis ini masih ada untuk memastikan bahwa panggilan ke jenis ini berhasil.

Jenis terkait CAS yang ditentukan secara publik dipindahkan dari rakitan WPF dan ke dalam rakitan pustaka Core .NET. Rakitan WPF memiliki penerusan jenis yang diatur ke lokasi baru dari jenis yang dipindahkan.

Rakitan sumber Rakitan target Jenis
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

Catatan

Untuk meminimalkan gesekan port, fungsionalitas untuk menyimpan dan mengambil informasi yang terkait dengan properti berikut dipertahankan dalam jenis .XamlAccessLevel

  • PrivateAccessToTypeName
  • AssemblyNameString