英語で読む

次の方法で共有


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

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

アセンブリ レベルの CLSCompliant 属性が true に設定されていないアセンブリ内 (つまり、行 [assembly: CLSCompliant(true)]) のクラスに [CLSCompliant(false)] がある場合に、この警告が生じます。 アセンブリは自らを 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()  
    {  
    }  
}  

関連項目