Пространство имен не соответствует структуре папок (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
. Чтобы сборки командной строки работали, необходимо добавить в файл проекта следующие свойства:
<ItemGroup>
<CompilerVisibleProperty Include="RootNamespace" />
<CompilerVisibleProperty Include="ProjectDir" />
</ItemGroup>
Пример
Предположим, что следующие фрагменты кода относятся к файлу с именем Data/Example.cs
или Data/Example.vb
, где Data
представляет структуру папок из файла проекта. Наименование структуры папок добавляется в корневое пространство имен, которое в этом примере является 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
Подавление предупреждения
Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable IDE0130
// The code that's violating the rule is on this line.
#pragma warning restore IDE0130
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none
в файле конфигурации .
[*.{cs,vb}]
dotnet_diagnostic.IDE0130.severity = none
Чтобы отключить все правила стиля кода, задайте уровень серьезности для категории Style
, чтобы none
в файле конфигурации .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.
См. также
- Языковые правила
- справочник по правилам стиля кода