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.