Contrassegnare gli assembly con ComVisibleAttribute
Aggiornamento: novembre 2007
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 un 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.
Correzione di 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à