CA1014: アセンブリに CLSCompliantAttribute を設定します

TypeName

MarkAssembliesWithClsCompliant

CheckId

CA1014

分類

Microsoft.Design

互換性に影響する変更点

なし

原因

アセンブリに、それに適用される System.CLSCompliantAttribute 属性がありません。

規則の説明

共通言語仕様 (CLS) には、名前付けの制約、データ型、および規則が定義されています。アセンブリを複数のプログラミング言語で使用する場合、この仕様に準拠する必要があります。 すべてのアセンブリに CLSCompliantAttribute を使用して、CLS への準拠を明示することをお勧めします。 この属性が使用されていないアセンブリは、CLS に準拠しません。

CLS 準拠のアセンブリに、準拠しない型または型のメンバーを含めることもできます。

違反の修正方法

この規則違反を修正するには、アセンブリにこの属性を追加します。 アセンブリ全体を非準拠とマークするのではなく、準拠していない型または型のメンバーを判断し、その要素にマークします。 可能であれば、準拠していないメンバーを CLS に準拠しているメンバーで置き換え、できるだけ広範囲のユーザーがアセンブリの全機能にアクセスできるようにします。

警告を抑制する状況

この規則による警告は抑制しないでください。 アセンブリを仕様準拠にしない場合、この属性を適用し、値を false に設定します。

使用例

CLS 準拠を宣言する System.CLSCompliantAttribute 属性が適用されたアセンブリを次の例に示します。

Imports System

<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace
using System;

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

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

参照

参照

System.CLSCompliantAttribute

概念

共通言語仕様