Ler em inglês

Compartilhar via


Aviso do compilador (nível 2) CS3021

"{0}" não necessita de um atributo CLSCompliant porque o assembly não tem um atributo CLSCompliant

Esse aviso ocorrerá se [CLSCompliant(false)] aparecer em uma classe em um assembly que não tenha um atributo CLSCompliant de nível de assembly definido como true (ou seja, a linha [assembly: CLSCompliant(true)]). Como o assembly não está se declarando em conformidade com o CLS, não há necessidade de nenhum item no assembly se declarar incompatível, pois ele é considerado não compatível. Para obter mais informações sobre conformidade com CLS, consulte Independência de Linguagem e Componentes Independentes da Linguagem.

Para eliminar esse aviso, remova o atributo ou adicione o atributo de nível de assembly.

Exemplo

O exemplo a seguir gera o erro 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()  
    {  
    }  
}  

Confira também