Compartir a través de


CA1017: Marcar los ensamblados con ComVisibleAttribute

Nombre de tipo

MarkAssembliesWithComVisible

Identificador de comprobación

CA1017

Categoría

Microsoft.Design

Cambio problemático

Poco problemático

Causa

No se ha aplicado el atributo System.Runtime.InteropServices.ComVisibleAttribute a un ensamblado.

Descripción de la regla

El atributo ComVisibleAttribute determina cómo obtienen acceso los clientes COM al código administrado. Los procedimientos de diseño recomendados dictan que los ensamblados indican explícitamente la visibilidad COM. La visibilidad COM se puede establecer para un ensamblado completo y, a continuación, se puede invalidar para los tipos individuales y los miembros de tipo. Si el atributo no está presente, el contenido del ensamblado es visible para los clientes COM.

Cómo corregir infracciones

Para corregir una infracción de esta regla, agregue el atributo al ensamblado. Si no desea que el ensamblado sea visible a los clientes COM, aplique el atributo y establezca su valor en false.

Cuándo suprimir advertencias

No suprima las advertencias de esta regla. Si desea que el ensamblado sea visible, aplique el atributo y establezca su valor en true.

Ejemplo

El ejemplo siguiente muestra un ensamblado al que se le ha aplicado el atributo ComVisibleAttribute para evitar que los clientes COM sean visibles.

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 {}

Vea también

Conceptos

Habilitar tipos de .NET para la interoperación

Otros recursos

Interoperar con código no administrado