O namespace de raiz <namespacename> não está em conformidade com CLSRoot namespace <namespacename> is not CLS-compliant

Um assembly é marcado como <CLSCompliant(True)> , mas o nome do namespace raiz começa com um sublinhado ( _ ).An assembly is marked as <CLSCompliant(True)>, but the root namespace name begins with an underscore (_).

Um elemento de programação pode conter um ou mais sublinhados, mas para ser compatível com a independência de idioma e com os componentes de Language-Independent (CLS), ele não deve começar com um sublinhado.A programming element can contain one or more underscores, but to be compliant with the Language Independence and Language-Independent Components (CLS), it must not begin with an underscore. Consulte nomes de elementos declarados.See Declared Element Names.

Quando você aplica o a CLSCompliantAttribute um elemento de programação, você define o parâmetro do atributo isCompliant como True ou False para indicar conformidade ou não conformidade.When you apply the CLSCompliantAttribute to a programming element, you set the attribute's isCompliant parameter to either True or False to indicate compliance or noncompliance. Não há nenhum padrão para esse parâmetro, e você deve fornecer um valor.There is no default for this parameter, and you must supply a value.

Se você não aplicar o CLSCompliantAttribute a um elemento, será considerado como não compatível.If you do not apply the CLSCompliantAttribute to an element, it is considered to be noncompliant.

Por padrão, esta mensagem é um aviso.By default, this message is a warning. Para obter informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando avisos no Visual Basic.For information on hiding warnings or treating warnings as errors, see Configuring Warnings in Visual Basic.

ID do erro: BC40038Error ID: BC40038

Para corrigir este erroTo correct this error

  • Se você precisar de conformidade com CLS, altere o nome do namespace raiz para que ele não comece com um sublinhado.If you require CLS compliance, change the root namespace name so that it does not begin with an underscore.

  • Se você precisar que o nome do namespace raiz permaneça inalterado, remova o CLSCompliantAttribute do assembly ou marque-o como <CLSCompliant(False)> .If you require that the root namespace name remain unchanged, then remove the CLSCompliantAttribute from the assembly or mark it as <CLSCompliant(False)>.

Consulte tambémSee also