Przestrzeń nazw nie jest zgodna ze strukturą folderów (IDE0130)

Właściwość Wartość
Identyfikator zasady IDE0130
Tytuł Przestrzeń nazw nie jest zgodna ze strukturą folderów
Kategoria Styl
Subcategory (Podkategoria) Reguły języka (preferencje na poziomie wyrażeń)
Odpowiednie języki C# i Visual Basic
Opcje dotnet_style_namespace_match_folder

Omówienie

Ta reguła stylu używa struktury folderów projektu do wymuszania wymagań dotyczących nazewnictwa przestrzeni nazw.

Opcje

Opcje określają zachowanie, które ma być wymuszane przez regułę. Aby uzyskać informacje na temat konfigurowania opcji, zobacz Format opcji.

dotnet_style_namespace_match_folder

Właściwość Wartość Opis
Nazwa opcji dotnet_style_namespace_match_folder
Wartości opcji true Preferuj nazewnictwo przestrzeni nazw, aby pasować do struktury folderów.
false Wyłącza regułę.
Wartość opcji domyślnej true

Uwaga

Opcja dotnet_style_namespace_match_folder zależy od znajomości bieżących właściwości projektu i głównej przestrzeni nazw. Te informacje są udostępniane przez program Visual Studio, ale nie są dostępne dla kompilacji wiersza polecenia, takich jak dotnet build. Aby kompilacje wiersza polecenia działały, należy dodać następujące właściwości do pliku projektu:

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

Przykład

Załóżmy, że następujące fragmenty kodu pochodzą z pliku o nazwie Data/Example.cs lub Data/Example.vb, gdzie Data reprezentuje strukturę folderów z pliku projektu. Nazwa struktury folderów jest dodawana do głównej przestrzeni nazw, która w tym przykładzie to 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

Pomijanie ostrzeżenia

Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji.

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

Aby wyłączyć wszystkie reguły stylu kodu, ustaw ważność kategorii Style na none w pliku konfiguracji.

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.

Zobacz też