Bagikan melalui


BinaryFormatter dinonaktifkan di sebagian besar jenis proyek

Metode BinaryFormatter.Serialize(Stream, Object) dan BinaryFormatter.Deserialize(Stream) sekarang melemparkan NotSupportedException pada waktu proses di hampir semua jenis proyek, termasuk aplikasi konsol.

Perilaku sebelumnya

Di .NET 7, BinaryFormatter.Serialize(Stream, Object) metode dan BinaryFormatter.Deserialize(Stream) ditandai usang dan menimbulkan kesalahan pada waktu kompilasi. Namun, jika aplikasi Anda menekan usang, aplikasi tersebut masih dapat memanggil metode dan berfungsi dengan baik di sebagian besar jenis proyek (tidak termasuk ASP.NET, WASM, dan MAUI). Misalnya, API berfungsi dengan benar di aplikasi konsol.

Perilaku yang baru

Mulai dari .NET 8, metode yang NotSupportedException terpengaruh melemparkan pada waktu proses di semua jenis proyek kecuali Formulir Windows dan WPF. API terus usang (sebagai kesalahan) di semua jenis proyek, termasuk Formulir Windows dan WPF.

Versi yang diperkenalkan

Pratinjau .NET 8 4

Jenis perubahan yang melanggar

Perubahan ini adalah perubahan perilaku.

Alasan untuk berubah

Perubahan run-time ini adalah tahap berikutnya dari rencana kehancuran BinaryFormatter, di mana BinaryFormatter pada akhirnya akan dihapus dari .NET.

Tindakan terbaik adalah bermigrasi jauh dari BinaryFormatter karena kelemahan keamanan dan keandalannya. Untuk informasi selengkapnya, lihat Alternatif pilihan.

Jika Anda perlu terus menggunakan BinaryFormatter, Anda dapat mengatur sakelar kompatibilitas dalam file proyek Anda untuk mengaktifkan BinaryFormatter kembali fungsionalitas. Untuk informasi selengkapnya, lihat bagian Tindakan yang direkomendasikan dari pemberitahuan perubahan pemecahan masalah .NET 7. Sakelar kompatibilitas tersebut terus dihormati di .NET 8.

API yang Terpengaruh

Lihat juga