3.

Visual Studio エラー一覧(コンパイルエラー / 警告 / リンク / IntelliSense / 確認方法と対処)

編集
この記事の要点
  • Visual Studio で発生するエラーはエラー一覧ウィンドウ(Error List)で確認 — 表示 → エラー一覧(Ctrl + W, E)
  • 種類はエラー(赤)/ 警告(黄)/ メッセージ(青)の 3 段階
  • 主要分類: コンパイルエラー(CS / C など)リンクエラー(LNK)IntelliSense エラー(IDE 内のみ)
  • エラーコードはダブルクリックで該当行へジャンプ、F1 でドキュメントを開ける
  • 1 件ずつエラー番号で検索するのが解決の近道 — Microsoft Learn や Stack Overflow に詳細あり

Visual Studio のエラーとは

Visual Studio はビルド時にコードを解析し、誤りや潜在的な問題をエラー一覧(Error List)ウィンドウに表示します。子ページに個別のエラーコード解説を蓄積していく一覧ページですが、まずはエラー一覧の基本操作とエラーの読み方を押さえましょう。

エラー一覧ウィンドウの開き方

  • メニュー: 表示 → エラー一覧
  • ショートカット: Ctrl + W, E(Ctrl+W を押した直後に E)
  • ビルドエラー発生時に自動でフォーカスされる場合あり

3 段階のレベル

レベル意味
エラー赤の×ビルドが失敗する致命的な問題
警告黄の△ビルドは通るが潜在的な問題
メッセージ青の i情報。改善提案や注意喚起

エラーコードの体系

プレフィックス意味
CSC# コンパイラエラーCS0103 名前 '...' は現在のコンテキストに存在しない
BCVB コンパイラエラーBC30451 宣言されていません
CC/C++ コンパイラエラーC2065 未宣言の識別子
LNKリンクエラーLNK2019 外部シンボルが解決できない
CAコード分析の警告CA1822 メンバを static にできる
MSBMSBuild エラーMSB3073 コマンドが終了コード 1 で終了
NUNuGet 関連NU1605 パッケージのダウングレード検出
IDEIntelliSense / IDE 警告IDE0001 名前を簡略化できる

よくある C# エラー(CS 系)の例

コード意味対処
CS0103名前が存在しないusing ディレクティブ追加 / typo 修正
CS0246型または名前空間が見つからない参照追加 / NuGet パッケージ導入
CS1002; が必要セミコロンを補う
CS1061定義に '〜' が含まれないtypo / 拡張メソッドの using 漏れ
CS0117定義に静的メンバが含まれない正しいクラス / typo を確認
CS0029暗黙の変換ができない明示的キャスト / 型を一致させる
CS0019演算子は型に適用できない型同士の演算子の妥当性確認
CS8602null 参照の可能性(NRT)null チェック追加 / null 許容にする

よくある C++ エラーの例

コード意味対処
C2065未宣言の識別子ヘッダ include / typo 修正
C2143; が必要セミコロン補い / 構文確認
C2664引数を型変換できない引数の型を見直す
LNK2019外部シンボルが解決できないライブラリ / オブジェクトのリンク漏れ
LNK2001未解決の外部シンボル同上 / 関数定義が見つからない

エラーから素早く解決する手順

  1. エラーコードでメモる — メッセージ全文より優先
  2. 該当行をダブルクリックで開く
  3. F1 キーで Microsoft Learn のページを開く
  4. キーワード(コード + メッセージ要約)でMicrosoft Learn / Stack Overflow を検索
  5. 修正してリビルド(Ctrl + Shift + B

エラー一覧のフィルタリング

ウィンドウ上部のチェックボックスやドロップダウンで以下を切り替えできます。

  • エラー / 警告 / メッセージ の表示 ON/OFF
  • ビルド + IntelliSense / ビルドのみ / IntelliSense のみ
  • 現在のプロジェクト / 開いているドキュメント / ソリューション全体
  • 検索ボックスでエラーコード / メッセージを絞り込み

クイックアクション(電球マーク)

エラー行に表示される電球マーク(または Ctrl + .)から、IDE が候補修正を提案します。using 追加、変数生成、メソッド抽出など、ワンクリックで適用可能です。

警告の警告レベル設定

プロジェクトのプロパティ → ビルド → 警告レベルで 0〜4 を指定。レベルを上げると潜在的な問題まで警告化されます。警告をエラーとして扱うを有効にすれば、警告でビルド失敗にできます(品質向上)。

IntelliSense エラー vs ビルドエラー

種別性質対処
IntelliSense エラーIDE のリアルタイム解析。ビルドは通る場合ありキャッシュクリア / ソリューション再読み込み
ビルドエラーコンパイラが実際に失敗必ず修正

IntelliSense だけで赤波線が消えないときは「ソリューションのアンロード/再ロード」「.vs フォルダ削除」「VS 再起動」が効くことがあります。

ビルド出力ウィンドウとの違い

ウィンドウ役割
エラー一覧エラー/警告/メッセージを構造化して表示
出力(ビルド)MSBuild の生ログ。コマンドや詳細を確認

エラー一覧で原因不明なときは出力ウィンドウのビルドログを見ると、MSBuild のターゲット実行ログから根本原因が分かることがあります。

FAQ

Q: 同じエラーが大量に出る
A: 多くの場合、上位 1〜2 件を直すと連鎖していた残りも消えます。最初のエラーから順に対応するのが鉄則。

Q: 警告は無視してよい?
A: 内容次第。null 参照可能性(CS8602)や使われない変数(CS0168)など潜在バグ系は対処すべき。スタイル系はEditorConfig でルール化を検討。

Q: エラーコードがどの言語/機能のものかわからない
A: F1 でドキュメントを開く、またはMicrosoft Learn でコード名を検索。プレフィックスがヒントになります(CS=C#、C=C/C++、LNK=リンカー)。

外部ツールとの連携

大規模プロジェクトでは Visual Studio 単体のエラー一覧に加え、以下のツールがエラー / 警告検出を補強します。

ツール役割
Roslyn AnalyzersC# のカスタム静的解析(追加ルール)
StyleCop AnalyzersC# コーディング規約のチェック
SonarLint / SonarQube多言語の品質 / セキュリティ静的解析
ReSharperJetBrains 製の VS 拡張(高度な解析と修正提案)
Code CleanupVS 標準の自動コード整形 + 簡易リファクタ

CI でビルド警告をチェックする

ローカルで警告を見逃しても、CI(GitHub Actions / Azure Pipelines 等)で msbuild /warnaserror/p:TreatWarningsAsErrors=true を付けてビルドすれば、警告を強制的にエラー扱いにできます。プロジェクト品質を底上げするのに有効です。

# 例: CI で警告をエラーとして扱う
dotnet build /p:TreatWarningsAsErrors=true

# 特定の警告のみエラー化
dotnet build /p:WarningsAsErrors="CS8602;CS8603"

関連

  • Visual Studio — Microsoft の統合開発環境
  • MSBuild — VS のビルドエンジン
  • IntelliSense — IDE のコード補完 / 解析
  • Microsoft Learn — 公式ドキュメント
  • EditorConfig — エディタ / コード規約の共有
  • Roslyn Analyzers — C# 用の追加静的解析
編集
Post Share
子ページ
  1. ドキュメントが読み込まれなかったため、デザイナーを表示できません
同階層のページ
  1. ショートカットキー
  2. dllを参照する方法
  3. エラー一覧
  4. 本番環境のdll内で参照しているdllファイルの置き場所
  5. フォームのタブ切り替え順序を変更する方法
  6. .suoファイルとは

最近更新/作成されたページ