名前空間がフォルダー構造と一致しない (IDE0130)
プロパティ | 値 |
---|---|
ルール ID | IDE0130 |
Title | 名前空間がフォルダー構造と一致しない |
カテゴリ | スタイル |
Subcategory | 言語規則 (式レベル基本設定) |
該当言語 | 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
詳細については、「コード分析の警告を抑制する方法」を参照してください。
関連項目
.NET