Megosztás a következőn keresztül:


A névtér nem egyezik a mappaszerkezettel (IDE0130)

Tulajdonság Érték
Szabályazonosító IDE0130
Cím A névtér nem egyezik a mappastruktúrával
Kategória Stílus
Alkategória Nyelvi szabályok (kifejezésszintű beállítások)
Alkalmazandó nyelvek C# és Visual Basic
Beállítások dotnet_style_namespace_match_folder

Áttekintés

Ez a stílusszabály a projekt mappastruktúráját használja a névtér elnevezési követelményeinek kikényszerítéséhez.

Beállítások

A beállítások határozzák meg, hogy a szabály milyen viselkedést kíván érvényesíteni. A beállítások konfigurálásával kapcsolatos információkért lásd: Beállításformátum.

dotnet_style_namespace_match_folder

Tulajdonság Érték Leírás
Beállítás neve dotnet_style_namespace_match_folder
Beállításértékek true A névtér elnevezését inkább a mappaszerkezetnek megfelelő névtérnévvel szeretné egyeztetni.
false Letiltja a szabályt.
Alapértelmezett beállításérték true

Megjegyzés

A dotnet_style_namespace_match_folder beállítás az aktuális projekt- és gyökérnévtértulajdonságok ismeretétől függ. Ezeket az információkat a Visual Studio szolgáltatja, de nem érhető el parancssori buildekhez, például dotnet build. A parancssori buildek működéséhez a következő tulajdonságokat kell hozzáadnia a projektfájlhoz:

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

Példa

Tegyük fel, hogy a következő kódrészletek egy vagy Data/Example.vbnevű Data/Example.cs fájlból származnak, ahol Data a projektfájl mappastruktúráját jelöli. A mappaszerkezet elnevezése hozzá lesz adva a gyökérnévtérhez, amely ebben a példában a következő 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

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozói irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

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

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa a súlyosságát none a konfigurációs fájlban.

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

Az összes kódstílus-szabály letiltásához állítsa a kategória Style súlyosságát none a konfigurációs fájlban.

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

További információ: Kódelemzési figyelmeztetések mellőzése.

Lásd még