O namespace não corresponde à estrutura da pasta (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
Essa 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 das opções | true |
Prefira que a nomenclatura do namespace corresponda à estrutura de pastas. |
false |
Desabilita a regra. | |
valor de opção padrão | true |
Nota
A opção dotnet_style_namespace_match_folder
depende de conhecer as 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
. Para que os builds 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 snippets de código a seguir sejam de um arquivo chamado Data/Example.cs
ou Data/Example.vb
, em que 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 do pré-processador ao arquivo de origem para desativar e 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 de um arquivo, pasta ou projeto, defina sua 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
para 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.