Condividi tramite


Lo spazio dei nomi non corrisponde alla struttura di cartelle (IDE0130)

Proprietà Valore
ID regola IDE0130
Titolo Lo spazio dei nomi non corrisponde alla struttura delle cartelle
Categoria Stile
sottocategoria Regole del linguaggio (preferenze a livello di espressione)
lingue applicabili C# e Visual Basic
Opzioni dotnet_style_namespace_match_folder

Panoramica

Questa regola di stile utilizza la struttura delle cartelle del progetto per applicare i requisiti di denominazione dello spazio dei nomi.

Opzioni

Le opzioni specificano il comportamento che si desidera che la regola implementi. Per informazioni sulla configurazione delle opzioni, vedere Formato opzione.

dotnet_style_namespace_match_folder

Proprietà Valore Descrizione
nome opzione imposta lo stile del namespace per corrispondere alla cartella (dotnet_style_namespace_match_folder)
valori di opzione true Preferire una denominazione dello spazio dei nomi che corrisponda alla struttura delle cartelle.
false Disabilita la regola.
valore di opzione predefinito true

Nota

L'opzione dotnet_style_namespace_match_folder dipende dalla conoscenza delle proprietà del progetto corrente e dello spazio dei nomi radice. Queste informazioni vengono fornite da Visual Studio, ma non sono disponibili per le compilazioni della riga di comando, ad esempio dotnet build. Per il corretto funzionamento delle compilazioni da riga di comando, è necessario aggiungere le proprietà seguenti al file di progetto:

<ItemGroup>
  <CompilerVisibleProperty Include="RootNamespace" />
  <CompilerVisibleProperty Include="ProjectDir" />
</ItemGroup>

Esempio

Si supponga che i frammenti di codice seguenti provenano da un file denominato Data/Example.cs o Data/Example.vb, dove Data rappresenta la struttura di cartelle dal file di progetto. La denominazione della struttura di cartelle viene aggiunta allo spazio dei nomi radice, che in questo esempio è 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

Eliminare un avviso

Se si desidera eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

#pragma warning disable IDE0130
// The code that's violating the rule is on this line.
#pragma warning restore IDE0130

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none nel file di configurazione .

[*.{cs,vb}]
dotnet_diagnostic.IDE0130.severity = none

Per disabilitare tutte le regole di tipo codice, impostare la gravità per la categoria Style su none nel file di configurazione .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Vedere anche