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