コンパイラの警告 (レベル 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()
{
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。