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
- Regras linguísticas
- de referência de regras de estilo de código