Condividi tramite


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

Proprietà Valore
ID regola IDE0130
Titolo Lo spazio dei nomi non corrisponde alla struttura delle cartelle
Categoria Stile
Subcategory 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 usa la struttura di cartelle del progetto per applicare i requisiti di denominazione dello spazio dei nomi.

Opzioni

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

dotnet_style_namespace_match_folder

Proprietà Valore Descrizione
Nome opzione dotnet_style_namespace_match_folder
Valori di opzione true Preferisce la denominazione dello spazio dei nomi in modo che corrisponda alla struttura delle cartelle.
false Disabilita la regola.
Valore dell'opzione predefinito true

Nota

L'opzione dotnet_style_namespace_match_folder dipende dalla conoscenza delle proprietà dello spazio dei nomi radice e del progetto corrente. Queste informazioni vengono fornite da Visual Studio ma non sono disponibili per le compilazioni da riga di comando, ad esempio dotnet build. Per il funzionamento delle compilazioni della 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 vengano provenienti 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 vuole eliminare solo una singola violazione, aggiungere direttive di 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, impostare la relativa gravità su none nel file di configurazione.

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

Per disabilitare tutte le regole in stile 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.

Vedi anche