CA1014: Marcar los ensamblados con CLSCompliantAttribute
Nombre de tipo |
MarkAssembliesWithClsCompliant |
Identificador de comprobación |
CA1014 |
Categoría |
Microsoft.Design |
Cambio problemático |
Poco problemático |
Motivo
No se ha aplicado el atributo System.CLSCompliantAttribute a un ensamblado.
Descripción de la regla
La Common Language Specification (CLS) define las restricciones de nomenclatura, los tipos de datos y las reglas a las que los ensamblados deben ajustarse si se van a utilizar los lenguajes de programación.Los procedimientos de diseño dictan que todos los ensamblados indican explícitamente la conformidad con CLS con CLSCompliantAttribute.Si el atributo no está presente en un ensamblado, éste no es conforme.
Es posible que un ensamblado conforme a CLS contenga tipos o miembros de tipo que no sean conformes.
Cómo corregir infracciones
Para corregir una infracción de esta regla, agregue el atributo al ensamblado.En lugar de marcar todo el ensamblado como no conforme, debe determinar qué tipo o miembros de tipo no son conformes y marcar estos elementos como tales.Si es posible, debe proporcionar una alternativa conforme a CLS para los miembros no conformes de forma que el mayor número de público posible pueda obtener acceso a toda la funcionalidad del ensamblado.
Cuándo suprimir advertencias
No suprima las advertencias de esta regla.Si no desea que el ensamblado sea conforme, aplique el atributo y establezca su valor en false.
Ejemplo
El ejemplo siguiente muestra un ensamblado al que se le ha aplicado el atributo System.CLSCompliantAttribute que lo declara como conforme a CLS.
Imports System
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace
using System;
[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
using namespace System;
[assembly:CLSCompliant(true)];
namespace DesignLibrary {}