Прочитать на английском

Поделиться через


Пространство имен не соответствует структуре папок (IDE0130)

Недвижимость / Собственность (if context dictates the need for a more specific translation) Ценность
идентификатор правила IDE0130
Заголовок Пространство имен не соответствует структуре каталогов
категории Стиль
Подкатегория Языковые правила (предпочтения уровня выражений)
применимые языки C# и Visual Basic
параметров dotnet_style_namespace_match_folder

Обзор

Это правило стиля использует структуру папок проекта для применения требований к именованию пространства имен.

Параметры

Параметры указывают поведение, которое вы хотите, чтобы правило соблюдало. Сведения о настройке параметров см. в формате параметра .

dotnet_style_namespace_match_folder

Недвижимость Ценность Описание
название параметра dotnet_style_namespace_match_folder
значения опции true Предпочитайте, чтобы имена пространств имен соответствовали структуре папок.
false Отключает правило.
значение параметра по умолчанию true

Примечание

Параметр dotnet_style_namespace_match_folder зависит от знания текущих свойств проекта и корневого пространства имен. Эти сведения предоставляются Visual Studio, но недоступны для сборок командной строки, например dotnet build. Чтобы сборки командной строки работали, необходимо добавить в файл проекта следующие свойства:

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

Пример

Предположим, что следующие фрагменты кода относятся к файлу с именем Data/Example.cs или Data/Example.vb, где Data представляет структуру папок из файла проекта. Наименование структуры папок добавляется в корневое пространство имен, которое в этом примере является Root.

C#
// Code with violations
namespace Root.BadExample
{
    class Example
    {
        public void M()
        {
        }
    }
}

// Fixed code
namespace Root.Data
{
    class Example
    {
        public void M()
        {
        }
    }
}

Подавление предупреждения

Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.

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

Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации .

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

Чтобы отключить все правила стиля кода, задайте уровень серьезности для категории Style, чтобы none в файле конфигурации .

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

Дополнительные сведения см. в статье Подавление предупреждений анализа кода.

См. также