名前空間がフォルダー構造と一致しない (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

詳細については、「コード分析の警告を抑制する方法」を参照してください。

関連項目