Ostrzeżenie kompilatora (poziom 2) CS3021
Atrybut "type" nie wymaga atrybutu CLSCompliant, ponieważ zestaw nie ma atrybutu CLSCompliant
To ostrzeżenie występuje, jeśli [CLSCompliant(false)]
pojawia się w klasie w zestawie, który nie ma atrybutu CLSCompliant na poziomie zestawu ustawionego na wartość true (czyli wiersza [assembly: CLSCompliant(true)]
). Ponieważ zestaw nie deklaruje się jako zgodny ze specyfikacją CLS, nie ma potrzeby, aby coś w zestawie zadeklarowało się jako niezgodne, ponieważ zakłada się, że nie jest zgodne. Aby uzyskać więcej informacji na temat zgodności środowiska CLS, zobacz Niezależność języka i składniki niezależne od języka.
Aby pozbyć się tego ostrzeżenia, usuń atrybut lub dodaj atrybut poziomu zestawu.
Poniższy przykład generuje 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()
{
}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: