CA1017: Marcar los ensamblados con ComVisibleAttribute

Propiedad Value
Identificador de la regla CA1017
Título Marcar los ensamblados con ComVisibleAttribute
Categoría Diseño
La corrección es problemática o no problemática Poco problemático
Habilitado de forma predeterminada en .NET 8 No

Causa

Un ensamblado no tiene aplicado el atributo System.Runtime.InteropServices.ComVisibleAttribute.

Descripción de la regla

El atributo ComVisibleAttribute determina cómo acceden 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, después, 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 quiere que el ensamblado sea visible para los clientes COM, aplique el atributo y establezca su valor en false.

Cuándo suprimir las advertencias

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

Ejemplo

En el ejemplo siguiente se muestra un ensamblado que tiene aplicado el atributo ComVisibleAttribute para evitar que sea visible para los clientes COM.

<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}

Vea también