SYSLIB0005: Cache perakitan global (GAC) tidak didukung
.NET Core dan .NET 5 dan versi yang lebih baru menghilangkan konsep cache perakitan global (GAC) yang ada di .NET Framework. Untuk membantu mengarahkan pengembang dari API ini, beberapa API terkait GAC ditandai sebagai usang, mulai dari .NET 5. Menggunakan API ini menghasilkan peringatan SYSLIB0005
pada waktu kompilasi.
API terkait GAC berikut ditandai usang:
-
Pustaka dan aplikasi tidak boleh menggunakan GlobalAssemblyCache API untuk membuat penentuan tentang perilaku run-time, karena selalu kembali
false
dalam .NET Core dan .NET 5+.
Penyelesaian masalah
Jika aplikasi Anda mengkueri GlobalAssemblyCache properti , pertimbangkan untuk menghapus panggilan. Jika Anda menggunakan GlobalAssemblyCache nilai untuk memilih antara "assembly in the GAC"-flow vs. "assembly not in the GAC"-flow at run time, pertimbangkan kembali apakah alur masih masuk akal untuk aplikasi .NET 5+.
Menyembunyikan peringatan
Jika Anda harus menggunakan API usang, Anda dapat menekan peringatan dalam kode atau dalam file proyek Anda.
Untuk menekan hanya satu pelanggaran, tambahkan direktif praprosedur ke file sumber Anda untuk menonaktifkan lalu mengaktifkan kembali peringatan.
// Disable the warning.
#pragma warning disable SYSLIB0005
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0005
Untuk menekan semua SYSLIB0005
peringatan dalam proyek Anda, tambahkan <NoWarn>
properti ke file proyek Anda.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0005</NoWarn>
</PropertyGroup>
</Project>
Untuk informasi selengkapnya, lihat Menyembunyikan peringatan.