aviso do compilador (nível 2) CS3021

Mensagem de erro

'type' não é necessário um atributo CLSCompliant porque o assembly não tem um atributo CLSCompliant

Este aviso ocorre se [CLSCompliant(false)] aparece em uma classe em um assembly que não tem um atributo CLSCompliant no nível do assembly definido como true (ou seja, a linha [assembly: CLSCompliant(true)]). Desde que o assembly é não declarar próprio CLS compatível, não é necessário para qualquer coisa dentro do assembly para declarar propriamente dito não compatível, como será considerado não-conformidade.Para obter mais informações sobre a conformidade de CLS, consulte Escrevendo código compatível com CLS.

Para descartar este aviso, remova o atributo ou adicione o atributo de conjunto.

Exemplo

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

Consulte também

Conceitos

CLS (Common Language Specification)