Предупреждение компилятора (уровень 2) CS3021
Обновлен: Ноябрь 2007
Сообщение об ошибке
"тип" не требуется атрибут CLSCompliant, так как сборка не имеет атрибута CLSCompliant
'type' does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute
Это предупреждение возникает, если строка [CLSCompliant(false)] появляется в классе сборки, не содержащей атрибут CLSCompliant уровня сборки, которому присвоено значение "true" (т. е. в ней отсутствует строка [assembly: CLSCompliant(true)]). Поскольку сборка не объявляет себя 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()
{
}
}