CA1017: Contrassegnare gli assembly con ComVisibleAttribute
Proprietà | valore |
---|---|
ID regola | CA1017 |
Title | Contrassegnare gli assembly con ComVisibleAttribute |
Categoria | Progettazione |
La correzione causa un'interruzione o meno | Non causa un'interruzione |
Abilitato per impostazione predefinita in .NET 9 | 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 {}