Namespace entspricht nicht der Ordnerstruktur (IDE0130)

Eigenschaft Wert
Regel-ID IDE0130
Titel Namespace entspricht nicht der Ordnerstruktur
Kategorie Stil
Unterkategorie Sprachregeln (Einstellungen auf Ausdrucksebene)
Gültige Sprachen C# und Visual Basic
Optionen dotnet_style_namespace_match_folder

Übersicht

Diese Formatregel verwendet die Ordnerstruktur des Projekts, um Anforderungen an die Benennung von Namespaces durchzusetzen.

Optionen

Optionen geben das Verhalten an, das die Regel erzwingen soll. Informationen zum Konfigurieren von Optionen finden Sie unter Optionsformat.

dotnet_style_namespace_match_folder

Eigenschaft Wert Beschreibung
Name der Option dotnet_style_namespace_match_folder
Optionswerte true Benennung von Namespaces soll Ordnerstruktur entsprechen.
false Die Regel wird deaktiviert.
Standardoptionswert true

Hinweis

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 für Befehlszeilenbuilds wie dotnet build nicht 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

Annahme: Die folgenden Codeschnipsel stammen aus einer Datei mit dem Namen Data/Example.cs oder Data/Example.vb, 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

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder 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 Konfigurationsdatei auf 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 Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Siehe auch