次の方法で共有


名前空間がフォルダー構造と一致しない (IDE0130)

財産 価値
ルール ID 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

警告を抑制する

1 つの違反のみを抑制する場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、ルールを再度有効にします。

#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

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

関連項目