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

Vea también

Conceptos

Common Language Specification

Referencia

System.CLSCompliantAttribute