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.