Share via


O espaço de nomes não corresponde à estrutura da pasta (IDE0130)

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

Descrição Geral

Esta regra de estilo utiliza a estrutura de pastas do projeto para impor os requisitos de nomenclatura do espaço de nomes.

Opções

As opções especificam o comportamento que pretende que a regra aplique. Para obter informações sobre como configurar opções, veja 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 do espaço de nomes para corresponder à estrutura da pasta.
false Desativa a regra.
Valor de opção predefinido true

Nota

A dotnet_style_namespace_match_folder opção depende de conhecer as propriedades do projeto atual e do espaço de nomes de raiz. Estas informações são fornecidas pelo Visual Studio, mas não estão disponíveis para compilações de linha de comandos, como dotnet build. Para que as compilações da linha de comandos funcionem, tem de adicionar as seguintes propriedades ao ficheiro de projeto:

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

Exemplo

Suponha que os fragmentos de código seguintes são de um ficheiro com o nome Data/Example.cs ou Data/Example.vb, onde Data representa a estrutura de pastas do ficheiro do projeto. A nomenclatura da estrutura da pasta é adicionada ao espaço de nomes de 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 quiser suprimir apenas uma única violação, adicione diretivas de pré-processamento ao ficheiro 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 desativar a regra de um ficheiro, pasta ou projeto, defina a gravidade para none no ficheiro de configuração.

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

Para desativar todas as regras de estilo de código, defina a gravidade da categoria Style como none no ficheiro de configuração.

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

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

Ver também