Namespace stimmt nicht mit der Ordnerstruktur überein (IDE0130)
Eigentum | Wert |
---|---|
Regel-ID | IDE0130 |
Titel | Namespace stimmt nicht mit der Ordnerstruktur überein. |
Kategorie | Stil |
Unterkategorie | Sprachregeln (Vorlieben auf Ausdrucksebene) |
Anwendbare Sprachen | C# und Visual Basic |
Optionen | dotnet_style_namespace_match_folder |
Überblick
Diese Stilregel nutzt die Ordnerstruktur des Projekts, um Anforderungen an die Benennung von Namespaces zu erzwingen.
Optionen
Optionen geben das Verhalten an, das die Regel erzwingen soll. Informationen zum Konfigurieren von Optionen finden Sie unter Option format.
dotnet_style_namespace_match_folder
Eigentum | Wert | Beschreibung |
---|---|---|
Optionsname | dotnet_style_namespace_match_folder | |
Optionswerte | true |
Bevorzugen Sie die Benennung von Namespaces, die der Verzeichnisstruktur entspricht. |
false |
Deaktiviert die Regel. | |
Standardoptionwert | true |
Anmerkung
Die Option dotnet_style_namespace_match_folder
muss die aktuellen Eigenschaften von Projekt- und Stammnamespace kennen. Diese Informationen werden von Visual Studio bereitgestellt, stehen jedoch nicht für Befehlszeilenbuilds wie dotnet build
zur Verfügung. Damit Befehlszeilenbuilds funktionieren, müssen Sie der Projektdatei die folgenden Eigenschaften hinzufügen:
<ItemGroup>
<CompilerVisibleProperty Include="RootNamespace" />
<CompilerVisibleProperty Include="ProjectDir" />
</ItemGroup>
Beispiel
Gehen Sie davon aus, dass die folgenden Codeausschnitte aus einer Datei mit dem Namen Data/Example.cs
oder Data/Example.vb
stammen, wobei Data
die Ordnerstruktur aus der Projektdatei darstellt. Die Ordnerstrukturbenennung wird dem Stammnamespace hinzugefügt, der in diesem Beispiel Root
ist.
// 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
Unterdrücken einer Warnung
Wenn Sie nur einen einzelnen Verstoß unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut zu aktivieren.
#pragma warning disable IDE0130
// The code that's violating the rule is on this line.
#pragma warning restore IDE0130
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdateiauf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.IDE0130.severity = none
Um alle Regeln im Code-Stil zu deaktivieren, setzen Sie den Schweregrad für die Kategorie in der KonfigurationsdateiStyle
auf none
.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Weitere Informationen finden Sie unter So unterdrücken Sie Codeanalysewarnungen.