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.