Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
| 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.