コンパイラの警告 (レベル 2) CS3021

更新 : 2007 年 11 月

エラー メッセージ

アセンブリに CLSCompliant 属性が含まれていないため、'型' には CLSCompliant 属性が必要ありません。

この警告は、アセンブリ レベルの CLSCompliant 属性が true ([assembly: CLSCompliant(true)]) に設定されていないアセンブリのクラスに [CLSCompliant(false)] が見つかった場合に発生します。アセンブリ自体が CLS 準拠として宣言されていないため、そのアセンブリに含まれるコードは暗黙的に非 CLS 準拠として見なされます。明示的に宣言する必要はありません。CLS 準拠の詳細については、「CLS 準拠コードの記述」を参照してください。

この警告が表示されないようにするには、該当する属性を削除するか、アセンブリ レベルの属性を追加します。

使用例

次の例では、CS3021 エラーが生成されます。

// CS3021.cs
using System;
// Uncomment the following line to declare the assembly CLS Compliant,
// and avoid the warning without removing the attribute on the class.
//[assembly: CLSCompliant(true)]

// Remove the next line to avoid the warning.
[CLSCompliant(false)]               // CS3021
public class C
{
    public static void Main()
    {
    }
}

参照

概念

共通言語仕様