CA1017: Contrassegnare gli assembly con ComVisibleAttribute

Proprietà valore
ID regola CA1017
Title Contrassegnare gli assembly con ComVisibleAttribute
Categoria Progettazione
Correzione che causa un'interruzione o un'interruzione Nessuna interruzione
Abilitato per impostazione predefinita in .NET 8 No

Causa

A un assembly non è applicato l'attributo System.Runtime.InteropServices.ComVisibleAttribute .

Descrizione regola

L'attributo ComVisibleAttribute determina il modo in cui i client COM accedono al codice gestito. In una buona progettazione gli assembly devono indicare in modo esplicito la visibilità COM. La visibilità COM può essere impostata per un intero assembly e quindi sottoposta a override per singoli tipi e membri di tipo. Se l'attributo non è presente, il contenuto dell'assembly è visibile ai client COM.

Come correggere le violazioni

Per correggere una violazione di questa regola, aggiungere l'attributo all'assembly. Se non si desidera che l'assembly sia visibile ai client COM, applicare l'attributo e impostarne il valore su false.

Quando eliminare gli avvisi

Non escludere un avviso da questa regola. Se si desidera che l'assembly sia visibile, applicare l'attributo e impostarne il valore su true.

Esempio

Nell'esempio seguente viene illustrato un assembly con l'attributo ComVisibleAttribute applicato per impedire che sia visibile ai client COM.

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

Vedi anche