CA1014 : Marquer les assemblys avec CLSCompliantAttributeCA1014: Mark assemblies with CLSCompliantAttribute

TypeNameTypeName MarkAssembliesWithClsCompliantMarkAssembliesWithClsCompliant
CheckIdCheckId CA1014CA1014
CategoryCategory Microsoft.DesignMicrosoft.Design
Modification avec ruptureBreaking Change Sans ruptureNon-breaking

CauseCause

Un assembly n’a pas la System.CLSCompliantAttribute attribut appliqué à ce dernier.An assembly does not have the System.CLSCompliantAttribute attribute applied to it.

Description de la règleRule description

La spécification de langage commun CLS (Common Language Specification) définit des restrictions de dénomination, des types de données, et des règles auxquelles les assemblys doivent se conformer s'ils doivent être utilisés à l'échelle de différents langages de programmation.The Common Language Specification (CLS) defines naming restrictions, data types, and rules to which assemblies must conform if they will be used across programming languages. Design correct stipule que tous les assemblys indiquent explicitement la conformité CLS avec CLSCompliantAttribute.Good design dictates that all assemblies explicitly indicate CLS compliance with CLSCompliantAttribute. Si l’attribut n’est pas présent sur un assembly, l’assembly n’est pas conforme.If the attribute is not present on an assembly, the assembly is not compliant.

Il est possible pour un assembly conforme CLS contenir des types ou taper des membres qui ne sont pas conformes.It is possible for a CLS-compliant assembly to contain types or type members that are not compliant.

Comment corriger les violationsHow to fix violations

Pour corriger une violation de cette règle, ajoutez l’attribut à l’assembly.To fix a violation of this rule, add the attribute to the assembly. Au lieu de marquer l’assembly entier comme non conforme, vous devez déterminer l’ou les membres de type ne sont pas conformes et marquer ces éléments comme tel.Instead of marking the whole assembly as noncompliant, you should determine which type or type members are not compliant and mark these elements as such. Si possible, vous devez fournir une alternative conforme CLS pour les membres non conformes afin que l’audience la plus large possible puisse accéder à toutes les fonctionnalités de votre assembly.If possible, you should provide a CLS-compliant alternative for noncompliant members so that the widest possible audience can access all the functionality of your assembly.

Quand supprimer les avertissementsWhen to suppress warnings

Ne supprimez aucun avertissement de cette règle.Do not suppress a warning from this rule. Si vous ne souhaitez pas que l’assembly soit conforme, appliquez l’attribut et définissez sa valeur sur false.If you do not want the assembly to be compliant, apply the attribute and set its value to false.

ExempleExample

L’exemple suivant montre un assembly qui a le System.CLSCompliantAttribute appliqué qui déclare comme étant conforme CLS.The following example shows an assembly that has the System.CLSCompliantAttribute attribute applied that declares it CLS-compliant.

using System;

[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
using namespace System;

[assembly:CLSCompliant(true)];
namespace DesignLibrary {}
Imports System

<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace

Voir aussiSee also