CA1017: Menandai rakitan dengan ComVisibleAttribute

Properti Nilai
ID Aturan CA1017
Judul Menandai rakitan dengan ComVisibleAttribute
Kategori Desain
Perbaikan bersifat merusak atau tidak merusak Tidak terputus
Diaktifkan secara default di .NET 10 Tidak
Bahasa yang berlaku C# dan Visual Basic

Penyebab

Perakitan tidak memiliki atribut System.Runtime.InteropServices.ComVisibleAttribute yang diterapkan padanya.

Deskripsi aturan

Atribut ComVisibleAttribute menentukan bagaimana klien COM mengakses kode terkelola. Desain yang baik mengharuskan bahwa rakitan secara eksplisit menunjukkan visibilitas COM. Visibilitas COM dapat diatur untuk seluruh rakitan lalu ditimpa untuk masing-masing jenis dan jenis anggota. Jika atribut tidak ada, konten assembly terlihat oleh klien COM.

Cara memperbaiki pelanggaran

Untuk memperbaiki pelanggaran aturan ini, tambahkan atribut ke assembly. Jika Anda tidak ingin assembly terlihat oleh klien COM, terapkan atribut dan atur nilainya ke false.

Kapan harus menekan peringatan

Jangan menyembunyikan peringatan dari aturan ini. Jika Anda ingin rakitan terlihat, terapkan atribut dan atur nilainya ke true.

Contoh

Contoh berikut menunjukkan rakitan yang memiliki ComVisibleAttribute atribut yang diterapkan untuk mencegahnya terlihat oleh klien COM.

<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}

Lihat juga