Partilhar via


O namespace não corresponde à estrutura de pastas (IDE0130)

Propriedade Valor
ID da regra IDE0130
Título O namespace não corresponde à estrutura de pastas
Categoria Estilo
Subcategoria Regras de idioma (preferências no nível da expressão)
Idiomas aplicáveis C# e Visual Basic
Opções dotnet_style_namespace_match_folder

Visão geral

Esta regra de estilo usa a estrutura de pastas do projeto para impor requisitos de nomenclatura de namespace.

Opções

As opções especificam o comportamento que você deseja que a regra imponha . Para obter informações sobre como configurar opções, consulte Formato de opção.

dotnet_style_namespace_match_folder

Propriedade Valor Descrição
Nome da opção dotnet_style_namespace_match_folder
Valores de opção true Prefira a nomenclatura de namespace para corresponder à estrutura de pastas.
false Desativa a regra.
Valor da opção padrão true

Observação

A opção dotnet_style_namespace_match_folder depende de conhecer o projeto atual e as propriedades do namespace raiz. Essas informações são fornecidas pelo Visual Studio, mas não estão disponíveis para compilações de linha de comando, como dotnet build. Para que as compilações de linha de comando funcionem, você deve adicionar as seguintes propriedades ao arquivo de projeto:

<ItemGroup>
  <CompilerVisibleProperty Include="RootNamespace" />
  <CompilerVisibleProperty Include="ProjectDir" />
</ItemGroup>

Exemplo

Suponha que os trechos de código a seguir são de um arquivo chamado Data/Example.cs ou Data/Example.vb, onde Data representa a estrutura de pastas do arquivo de projeto. A nomenclatura da estrutura de pastas é adicionada ao namespace raiz, que neste exemplo é Root.

// Code with violations
namespace Root.BadExample
{
    class Example
    {
        public void M()
        {
        }
    }
}

// Fixed code
namespace Root.Data
{
    class Example
    {
        public void M()
        {
        }
    }
}
' Code with violations
Namespace Root.BadExample
    Class Example
        Public Sub M()
        End Sub
    End Class
End Namespace

' Fixed code
Namespace Root.Data
    Class Example
        Public Sub M()
        End Sub
    End Class
End Namespace

Suprimir um aviso

Se você quiser suprimir apenas uma única violação, adicione diretivas de pré-processador ao arquivo de origem para desativar e, em seguida, reativar a regra.

#pragma warning disable IDE0130
// The code that's violating the rule is on this line.
#pragma warning restore IDE0130

Para desabilitar a regra para um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração .

[*.{cs,vb}]
dotnet_diagnostic.IDE0130.severity = none

Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style como none no arquivo de configuração .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Para obter mais informações, consulte Como suprimir avisos de análise de código.

Ver também