Прочитать на английском

Поделиться через


Предупреждение компилятора (уровень 2) CS3021

Для "тип" не требуется атрибут CLSCompliant, так как данная сборка не имеет атрибута CLSCompliant

Это предупреждение возникает, если [CLSCompliant(false)] отображается в классе в сборке, которая не имеет атрибута CLSCompliant уровня сборки, для которого задано значение true (то есть строка [assembly: CLSCompliant(true)]). Поскольку сборка не объявляет себя соответствующей CLS, не требуется, чтобы какой-либо объект в сборке сам себя объявлял несовместимым, поскольку он считается несоответствующим. Дополнительные сведения о соответствии CLS см. в статье о независимости языка и независимых от языка компонентах.

Чтобы избавиться от этого предупреждения, удалите атрибут или добавьте атрибут уровня сборки.

Пример

Следующий пример приводит к возникновению предупреждения CS3021:

C#
// 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()  
    {  
    }  
}  

См. также