Marcar ensamblados con CLSCompliantAttribute
Actualización: noviembre 2007
Nombre de tipo |
MarkAssembliesWithClsCompliant |
Identificador de comprobación |
CA1014 |
Categoría |
Microsoft.Design |
Cambio problemático |
No 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 compatibilidad con CLS con CLSCompliantAttribute. Si el atributo no está presente en un ensamblado, éste no es compatible.
Es posible que un ensamblado compatible con CLS contenga tipos o miembros de tipo que no sean compatibles.
Cómo corregir infracciones
Para corregir una infracción de esta regla, agregue el atributo al ensamblado. En lugar de marcar el ensamblado completo como no compatible, debe determinar qué tipo o miembros de tipo no son compatibles y marcar estos elementos como tales. Si es posible, debe proporcionar una alternativa compatible con CLS para los miembros no compatibles 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 compatible, aplique el atributo y establezca su valor en false.
Ejemplo
El ejemplo siguiente muestra un ensamblado con el atributo System.CLSCompliantAttribute aplicado que lo declara como compatible con 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 {}