Perubahan yang mencolok di .NET 7

Jika Anda memigrasikan aplikasi ke .NET 7, perubahan yang mencolok yang tercantum di sini dapat memengaruhi Anda. Perubahan dikelompokkan berdasarkan bidang teknologi, seperti ASP.NET Core atau Formulir Windows.

Artikel ini mengategorikan setiap perubahan signifikan sebagai tidak kompatibel secara biner atau tidak kompatibel secara sumber, atau perubahan perilaku:

  • biner yang tidak kompatibel - Saat dijalankan terhadap runtime atau komponen baru, biner yang ada mungkin mengalami perubahan perilaku yang merusak, seperti tidak dapat dimuat atau dieksekusi, dan jika demikian, memerlukan kompilasi ulang.

  • Sumber tidak kompatibel - Saat dikompilasi ulang menggunakan SDK atau komponen baru atau untuk menargetkan runtime baru, kode sumber yang ada mungkin memerlukan perubahan sumber agar berhasil dikompilasi.

  • Perubahan perilaku - Kode dan biner yang ada mungkin berperilaku berbeda saat runtime. Jika perilaku baru tidak diinginkan, kode yang ada perlu diperbarui dan dikompilasi ulang.

Inti ASP.NET

Lihat Perubahan signifikan di ASP.NET Core 7.

Pustaka .NET Inti

Judul Jenis perubahan
KEDALUARSA API dengan ID diagnostik default Sumber tidak kompatibel
Kedaluwarsa API dengan ID diagnostik non-default Sumber tidak kompatibel
Tanda Bintang tidak lagi diterima untuk atribut nama rakitan Perubahan perilaku
API serialisasi BinaryFormatter menghasilkan kesalahan kompilator Sumber tidak kompatibel
BrotliStream tidak lagi mengizinkan nilai CompressionLevel yang tidak terdefinisi Tidak kompatibel secara biner
Proyek C++/CLI di Visual Studio Sumber tidak kompatibel
Perubahan pada pengecualian API pemanggilan refleksi Tidak kompatibel secara biner
Rakitan yang Dapat Dikumpulkan dalam AssemblyLoadContext yang tidak dapat dikumpulkan Tidak kompatibel secara biner
Perubahan presisi metode penambahan DateTime Perubahan perilaku
Sama dengan perubahan perilaku metode untuk NaN Tidak kompatibel secara biner
Perilaku panggilan balik EventSource Perubahan perilaku
Batasan jenis generik pada PatternContext<T> Biner/sumber tidak kompatibel
Strategi FileStream warisan dihapus Tidak kompatibel secara biner
Dukungan pustaka untuk kerangka kerja yang lebih lama Biner/sumber tidak kompatibel
Presisi maksimum untuk string format numerik Tidak kompatibel secara biner
Pola regex dengan rentang diperbaiki Perubahan perilaku
SerializationFormat.Binary sudah usang Biner/sumber tidak kompatibel
Sakelar konfigurasi System.Drawing.Common dihapus Perubahan perilaku
Paket System.Runtime.CompilerServices.Unsafe NuGet Perubahan perilaku
Bidang waktu pada tautan simbolis Tidak kompatibel secara biner
Melacak entri cache tertaut Tidak kompatibel secara biner
Memvalidasi CompressionLevel untuk BrotliStream Tidak kompatibel secara biner

Konfigurasi

Judul Jenis perubahan
Entri system.diagnostics di app.config Tidak kompatibel secara biner

Kriptografi

Judul Jenis perubahan
Mendekripsi EnvelopedCms tidak membuka dua kali lipat Tidak kompatibel secara biner
Waktu verifikasi Dynamic X509ChainPolicy Tidak kompatibel secara biner
Penguraian nama yang mudah diingat X500DistinguishedName Tidak kompatibel secara biner

Penyebaran

Judul Jenis perubahan
Semua rakitan dipangkas secara default Sumber tidak kompatibel
Pencarian multi-tingkat dinonaktifkan Tidak kompatibel secara biner
Jalur host x86 pada Windows 64-bit Perubahan perilaku
TrimmerDefaultAction tidak digunakan lagi Sumber tidak kompatibel

Inti Kerangka Kerja Entitas

Lihat Perubahan signifikan pada EF Core 7.

Ekstensi

Judul Jenis perubahan
Mengikat konfigurasi ke kamus memperluas nilai Perubahan perilaku
ContentRootPath untuk aplikasi yang diluncurkan oleh Windows Shell Tidak kompatibel secara biner
Awalan variabel lingkungan Tidak kompatibel secara biner

Globalisasi

Judul Jenis perubahan
API Globalisasi menggunakan pustaka ICU di Windows Server Tidak kompatibel secara biner

Interop

Judul Jenis perubahan
RuntimeInformation.OSArchitecture di bawah emulasi Tidak kompatibel secara biner

.NET MAUI

Judul Jenis perubahan
Konstruktor menerima antarmuka dasar alih-alih jenis beton Tidak kompatibel secara biner
Metode pembantu arah alur dihapus Biner/sumber tidak kompatibel
Parameter UpdateBackground baru Tidak kompatibel secara biner
Properti ScrollToRequest diganti namanya Biner/sumber tidak kompatibel
Beberapa API Windows dihapus Biner/sumber tidak kompatibel

Jaringan

Judul Jenis perubahan
Default AllowRenegotiation adalah false Biner/sumber tidak kompatibel
Payload ping kustom di Linux Tidak kompatibel secara biner
Metode Socket.End tidak melempar ObjectDisposedException Tidak kompatibel secara biner

SDK dan MSBuild

Judul Jenis perubahan
RuntimeIdentifier Otomatis untuk diterbitkan saja Biner/sumber tidak kompatibel
Output konsol CLI menggunakan UTF-8 Biner/sumber tidak kompatibel
Pengodean konsol bukan UTF-8 setelah selesai Tidak kompatibel secara biner
Serialisasi MSBuild dari jenis kustom di .NET 7 Biner/sumber tidak kompatibel
Penginstalan SDK berdampingan Biner/sumber tidak kompatibel
Manifes alat di folder akar Perubahan perilaku
Persyaratan versi untuk SDK .NET 7 Perubahan perilaku
uji dotnet: beralih -a ke alias --arch alih-alih --test-adapter-path Biner/sumber tidak kompatibel
uji dotnet: beralih -r ke alias --runtime alih-alih --results-dir Biner/sumber tidak kompatibel
--output opsi tidak lagi valid untuk perintah tingkat solusi Biner/sumber tidak kompatibel
SDK tidak lagi memanggil ResolvePackageDependencies Sumber tidak kompatibel

Serialisasi

Judul Jenis perubahan
DataContractSerializer mempertahankan tanda saat deserialisasi -0 Tidak kompatibel secara biner
Deserialisasi jenis Versi dengan spasi kosong di depan atau di belakang Tidak kompatibel secara biner
Konstruktor salinan JsonSerializerOptions mencakup JsonSerializerContext Tidak kompatibel secara biner
Serialisasi polimorfik untuk jenis objek Tidak kompatibel secara biner
Fallback generator sumber System.Text.Json Tidak kompatibel secara biner

Formulir Windows

Judul Jenis perubahan
Kedaluarsa dan peringatan Sumber tidak kompatibel
Beberapa API menampilkan ArgumentNullException Tidak kompatibel secara biner

WPF (Windows Presentation Foundation)

Judul Jenis perubahan
Perilaku operasi seret dan letakkan yang dipulihkan pada editor teks Perubahan perilaku

XML dan XSLT

Judul Jenis perubahan
XmlSecureResolver sudah usang Biner/sumber tidak kompatibel

Lihat juga