CA1017: Contrassegnare gli assembly con ComVisibleAttribute
TypeName |
MarkAssembliesWithComVisible |
CheckId |
CA1017 |
Category |
Microsoft.Design |
Breaking Change |
Non sostanziale |
Causa
A un assembly non è applicato l'attributo System.Runtime.InteropServices.ComVisibleAttribute.
Descrizione della regola
L'attributo ComVisibleAttribute determina le modalità con cui i client COM accedono al codice gestito.In una buona progettazione gli assembly devono indicare in modo esplicito la visibilità COM.È possibile impostare la visibilità COM per l'intero assembly e quindi eseguirne l'override per singoli tipi e membri dei tipi.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.
Esclusione di avvisi
Non escludere un avviso da questa regola.Se si desidera che l'assembly sia visibile, applicare l'attributo e impostare il valore su true.
Esempio
Nell'esempio riportato di seguito viene illustrato un assembly con l'attributo ComVisibleAttribute applicato per impedire che sia visibile ai client COM.
Imports System
<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
using System;
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}
using namespace System;
[assembly: System::Runtime::InteropServices::ComVisible(false)];
namespace DesignLibrary {}
Vedere anche
Concetti
Qualificazione di tipi .NET per l'interoperabilità