Condividi tramite


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 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à

Altre risorse

Interoperabilità con codice non gestito