Freigeben über


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 buildzur 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.vbstammen, wobei Data die Ordnerstruktur aus der Projektdatei darstellt. Die Ordnerstrukturbenennung wird dem Stammnamespace hinzugefügt, der in diesem Beispiel Rootist.

// 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.

Siehe auch