API dengan nama kuat menampilkan PlatformNotSupportedException
Beberapa API yang tidak didukung di .NET/.NET Core tetapi tidak melakukan apa pun ketika diakses telah diubah untuk sekarang melemparkan PlatformNotSupportedException pada waktu proses. Sebelumnya, menggunakan API ini pada akhirnya akan menghasilkan pengecualian run-time lebih lanjut; pengecualian sekarang dilemparkan ketika jenisnya dibuat atau pertama kali diakses.
Perilaku sebelumnya
Di versi sebelumnya, memanggil AssemblyName.KeyPair atau StrongNameKeyPair(Byte[]) tidak ada operasi. Memanggil StrongNameKeyPair(FileStream) baca aliran tetapi sebaliknya tidak melakukan apa-apa.
Perilaku yang baru
Mulai dari .NET 6, masing-masing dari tiga API yang PlatformNotSupportedException terpengaruh melemparkan pada waktu proses.
Versi yang diperkenalkan
.NET 6
Jenis perubahan yang melanggar
Perubahan ini dapat memengaruhi kompatibilitas biner.
Alasan untuk berubah
Sebelumnya, aplikasi yang memanggil API dikompilasi dan dijalankan, tetapi segera setelah instans digunakan dalam jalur kode apa pun, ia melemparkan pengecualian run-time. Untuk membuatnya lebih eksplisit bahwa skenario ini tidak didukung, logika pelemparan pengecualian dipindahkan ke konstruktor instans. Jika tidak ada instans yang dibuat, pengecualian juga dilemparkan dalam titik masuk publik yang mengembalikan jenis ini, yaitu, AssemblyName.KeyPair.
Tindakan yang direkomendasikan
Penandatanganan nama kuat tidak didukung di .NET/.NET Core, dan tidak ada solusi.
Catatan
.NET Core/5+ tidak pernah memeriksa tanda tangan dalam runtimenya. Namun, jika Anda menargetkan pustaka lintas platform (misalnya, paket autentikasi dasar yang menargetkan .NET Standard 2.0, sehingga berjalan pada .NET Framework juga), maka penamaan yang kuat adalah ide yang baik untuk kompatibilitas lintas runtime. .NET Framework terus memberlakukan penamaan yang kuat jika aplikasi panggilan diberi nama yang kuat. Anda dapat menamai rakitan yang kuat di semua versi .NET menggunakan alat Sn.exe . Untuk informasi selengkapnya, lihat Penandatanganan nama yang kuat.
API yang Terpengaruh
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk