Bagikan melalui


Asterisk tidak lagi diterima untuk atribut nama rakitan

Sebelum .NET 7, nama assembly diizinkan untuk menentukan * sebagai nilai wildcard untuk nilai atribut, yang setara dengan tidak menentukan nilai sama sekali. Fitur yang tidak terdokumentasi ini dihapus di .NET 7.

Versi yang diperkenalkan

.NET 7

Perilaku sebelumnya

Sebelumnya, Anda dapat menentukan * sebagai nilai untuk atribut nama rakitan. Misalnya, kode berikut berhasil:

Assembly.Load("System.Runtime, Version=*, PublicKeyToken=*");

Tanda bintang memiliki perilaku yang identik untuk tidak menentukan nilai atribut sama sekali:

Assembly.Load("System.Runtime");

Perilaku baru

Sejak .NET 7, kode berikut mengalami kegagalan dengan FileLoadException dan menampilkan pesan kesalahan "Nama 'assembly' yang diberikan tidak valid".

Assembly.Load("System.Runtime, Version=*, PublicKeyToken=*")

Jenis perubahan yang memutus kompatibilitas

Perubahan ini adalah perubahan perilaku .

Alasan perubahan

Perilaku sebelumnya adalah fitur yang tidak terdokumentasi dan tidak konsisten diimplementasikan oleh semua pengurai nama rakitan .NET. Fitur yang tidak terdokumentasi dihapus untuk menyatukan perilaku penguraian nama rakitan di seluruh .NET.

Hilangkan atribut nama rakitan yang memiliki nilai wildcard. Misalnya, ubah System.Runtime, Version=* menjadi hanya System.Runtime.

API yang terpengaruh