Obor názvů neodpovídá struktuře složek (IDE0130)

Vlastnost Hodnota
ID pravidla INTEGROVANÉ VÝVOJOVÉ PROSTŘEDÍ (IDE0130)
Název Obor názvů neodpovídá struktuře složek
Kategorie Styl
Subcategory Pravidla jazyka (předvolby na úrovni výrazů)
Příslušné jazyky C# a Visual Basic
Možnosti dotnet_style_namespace_match_folder

Přehled

Toto pravidlo stylu používá strukturu složek projektu k vynucení požadavků na pojmenování oboru názvů.

Možnosti

Možnosti určují chování, které má pravidlo vynutit. Informace o konfiguraci možností najdete v tématu Formát možností.

dotnet_style_namespace_match_folder

Vlastnost Hodnota Popis
Název možnosti dotnet_style_namespace_match_folder
Hodnoty možností true Upřednostněte pojmenování oboru názvů tak, aby odpovídalo struktuře složek.
false Zakáže pravidlo.
Výchozí hodnota možnosti true

Poznámka

Tato dotnet_style_namespace_match_folder možnost závisí na znalosti vlastností aktuálního projektu a kořenového oboru názvů. Tyto informace poskytuje sada Visual Studio, ale nejsou k dispozici pro sestavení příkazového řádku, jako dotnet buildje například . Aby sestavení příkazového řádku fungovala, musíte do souboru projektu přidat následující vlastnosti:

<ItemGroup>
  <CompilerVisibleProperty Include="RootNamespace" />
  <CompilerVisibleProperty Include="ProjectDir" />
</ItemGroup>

Příklad

Předpokládejme, že následující fragmenty kódu pocházejí ze souboru s názvem Data/Example.cs nebo Data/Example.vb, kde Data představuje strukturu složek ze souboru projektu. Do kořenového oboru názvů se přidá pojmenování struktury složek, což je Rootv tomto příkladu .

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

Potlačení upozornění

Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, které pravidlo zakažou a znovu ho povolí.

#pragma warning disable IDE0130
// The code that's violating the rule is on this line.
#pragma warning restore IDE0130

Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v konfiguračním souboru na none .

[*.{cs,vb}]
dotnet_diagnostic.IDE0130.severity = none

Pokud chcete zakázat všechna pravidla stylu kódu, nastavte v konfiguračním souboru závažnost pro kategorii Style na none .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Další informace najdete v tématu Jak potlačit upozornění analýzy kódu.

Viz také