JetBrains Rider 2026.1 Help

コンパイラーの警告を設定する

JetBrains Rider には、 最も顕著なコンパイラー警告を報告するコードインスペクションと、それに対応する クイックフィックスが含まれています。 JetBrains Rider コードインスペクションの結果がコンパイラー出力や他のツール、アナライザーと一致するようにするため、JetBrains Rider 独自のインスペクションとは異なり、コンパイラー警告の重要度レベルは エディターJetBrains Rider 設定から設定できません。

代わりに、コンパイラーの警告を抑制する他の方法があり、以下にまとめます。

設定する

互換性

粒度

それを使用して

.editorconfig

すべてのコード分析ルール、すべてのコンパイラー警告ではない

File/type/global

Roslyn アナライザーとの互換性を確保し、ルールの重大度レベルを変更する

#pragma ディレクティブ

すべてのコンパイラー警告とコード分析ルール

コードブロック / ファイル

特定の警告をローカルで抑制する

.csproj 内のプロパティ

すべてのコンパイラー警告とコード分析ルール

プロジェクト全体

ビルドレベルで警告を抑制するか、警告をエラーに昇格する

[SuppressMessage] 属性

すべてのコンパイラー警告とコード分析ルール

タイプ / メンバー

ローカルスコープ内の特定の警告を抑制する

GlobalSuppressions.cs

すべてのコンパイラー警告とコード分析ルール

議会全体

プロジェクト全体で編集不可能なコードや生成されたコードの警告を抑制する

.editorconfig を使用する (コードスタイルと最新のアナライザーに推奨)

.editorconfig ファイルは、コードスタイルと診断を設定するのに便利な方法です。 これにより、特定の警告の重大度を、プロジェクト全体で一貫した方法で指定できます。

サポートされているすべての警告に対して、次の形式で EditorConfig キーを使用できます。

dotnet_diagnostic.<ID>.severity = none | silent | suggestion | warning | error

例えば:

dotnet_diagnostic.CS8618.severity = none

この方法は、C# 8.0 で始まるコンパイラー警告と、Roslyn 解析ルールで始まるコンパイラー警告(コンパイラー自身によって出力される警告も含む)に有効です。 例えば:

  • null 許容参照 (CS8xxx) に関連する警告。

  • プラットフォーム互換性の警告 (CS9xxx)。

  • 特定のドキュメントまたはコードスタイルの診断 (例: CS1591)。

コード内で #pragma ディレクティブを使用する

#pragma ディレクティブを使用すると、コード内で特定の警告を直接抑制できます。 これは、一時的な警告の抑制や、警告の範囲を特定のコードブロックに限定する場合に便利です。

ハイライトされたコンパイラー警告を抑制するには、 Alt+Enter を押して対応する項目を選択します。

JetBrains Rider: '#pragma' でコンパイラーの警告を無効にする

#pragma による抑制は次のようになります。

catch (Exception e) { Console.WriteLine("Caught exception {0}", e); } #pragma warning disable CS1058 // A previous catch clause already catches all exceptions catch #pragma warning restore CS1058 // A previous catch clause already catches all exceptions { Console.WriteLine("Exception fallback"); }

この方法は、 .editorconfig で構成できないものも含め、すべてのコンパイラー警告 (CSxxxx) に対して機能します。

プロジェクトファイルで警告を設定する (.csproj)

プロジェクトファイルを使用すると、プロジェクト全体レベルで警告の動作を設定できます。 例としては、次のようなものがあります。

特定​の​警告​を抑制する

<PropertyGroup> <NoWarn>CS8618;CS1591</NoWarn> </PropertyGroup>

すべての警告をエラー扱いにする

<PropertyGroup> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> </PropertyGroup>

特定​の​警告​を​エラー​として​扱うかどうか

<PropertyGroup> <WarningsAsErrors>CS8618</WarningsAsErrors> <WarningsNotAsErrors>CS1591</WarningsNotAsErrors> </PropertyGroup>

.csproj ファイル内の構成はすべての CS 警告に適用され、ビルド出力動作に関しては .editorconfig 設定を上書きします。

[SuppressMessage] 属性を使用する

[SuppressMessage] は、特定の型またはメンバー内の特定のコンパイラー警告とコード分析ルールを抑制するために使用されます。 明確でスコープが限定され、ドキュメント化された抑制が必要な場合は、 #pragma の代替として使用できます。 例えば:

[SuppressMessage("Compiler", "CS1058", Justification = "Intentional for testing")] static void Test() { try { } catch (Exception e) { Console.WriteLine("Caught exception {0}", e); } catch { Console.WriteLine("Exception fallback"); } }

グローバル抑制ファイルを使用する (GlobalSuppressions.cs)

グローバル抑制ファイルを使用すると、プロジェクト全体にわたってコンパイラー警告または Roslyn コード分析ルールを抑制できます。 抑制する警告を指定するには、属性を使用します。 例えば:

// GlobalSuppressions.cs [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Naming", "CA1707:IdentifiersShouldNotContainUnderscores", Justification = "Test methods require underscores for readability." Scope = "namespaceanddescendants", Target = "~N:Company.Product.Tests")]
2026 年 6 月 12 日