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 linguagem (preferências no nível de expressão) |
Linguagens aplicáveis | C# e Visual Basic |
Opções | dotnet_style_namespace_match_folder |
Visão geral
Essa regra de estilo usa a estrutura de pastas do projeto para impor os requisitos de nomenclatura de namespace.
Opções
As opções especificam o comportamento que você quer que a regra imponha. Para obter informações sobre como configurar as opções, confira Formato da opção.
dotnet_style_namespace_match_folder
Propriedade | Valor | Descrição |
---|---|---|
Nome da opção | dotnet_style_namespace_match_folder | |
Valores da opção | true |
De preferência, a nomenclatura do namespace deve corresponder à estrutura de pastas. |
false |
Desabilita a regra. | |
Valor da opção padrão | true |
Observação
A opção dotnet_style_namespace_match_folder
depende do conhecimento das propriedades atuais do projeto e do namespace raiz. Essas informações são fornecidas pelo Visual Studio, mas não estão disponíveis para builds de linha de comando, como dotnet build
. Adicione as seguintes propriedades ao arquivo de projeto para que os builds de linha de comando funcionem:
<ItemGroup>
<CompilerVisibleProperty Include="RootNamespace" />
<CompilerVisibleProperty Include="ProjectDir" />
</ItemGroup>
Exemplo
Suponha que os seguintes snippets de código sejam de um arquivo chamado Data/Example.cs
ou Data/Example.vb
, em que Data
represente a estrutura de pasta do arquivo do 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 violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite 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 em um arquivo, uma pasta ou um projeto, defina a severidade 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, confira Como suprimir avisos de análise de código.