| この記事の要点 |
|
Visual Studio のエラーとは
対象は Windows 版 Visual Studio のエラー一覧です。Visual Studio Code や旧 Visual Studio for Mac と同じ画面・操作ではありません。以下の画面・キーは主に Visual Studio 2022 を対象とし、利用版・言語・キーボード設定により異なります。
子ページからエラーを選択してください。現在の直接の子は表示順1の ドキュメントが読み込まれなかったため、デザイナーを表示できません です。これはデザイナー読込み段階の案内で、コンパイラやリンカーのエラーとは分けて読みます。子ページのキャッシュ削除・プロセス終了・修復を、全エラー共通の手順として実施しないでください。
Visual Studio はビルド時にコードを解析し、誤りや潜在的な問題をエラー一覧(Error List)ウィンドウに表示します。子ページに個別のエラーコード解説を蓄積していく一覧ページですが、まずはエラー一覧の基本操作とエラーの読み方を押さえましょう。
エラー一覧ウィンドウの開き方
- メニュー: 表示 → エラー一覧
- ショートカットは設定依存。General プロファイルの既定例は Ctrl + \, E。Ctrl + W, E が割り当てられた環境もあるため、環境 → キーボードの View.ErrorList を確認する
- ビルドエラー発生時に自動でフォーカスされる場合あり
3 段階のレベル
| レベル | 色 | 意味 |
|---|---|---|
| エラー | 赤の× | エラーとして報告された診断。Build / IntelliSense の出所と実際のビルド結果を区別する |
| 警告 | 黄の△ | 警告。通常はビルドを止めないが、警告のエラー化設定で失敗する場合がある |
| メッセージ | 青の i | 情報。改善提案や注意喚起 |
エラーコードの体系
| プレフィックス | 意味 | 例 |
|---|---|---|
| CS | C# コンパイラエラー | CS0103 名前 '...' は現在のコンテキストに存在しない |
| BC | VB コンパイラエラー | BC30451 宣言されていません |
| C | C/C++ コンパイラエラー | C2065 未宣言の識別子 |
| LNK | リンクエラー | LNK2019 外部シンボルが解決できない |
| CA | コード分析の警告 | CA1822 メンバを static にできる |
| MSB | MSBuild エラー | MSB3073 コマンドが終了コード 1 で終了 |
| NU | NuGet 関連 | NU1605 パッケージのダウングレード検出 |
| IDE | IntelliSense / IDE 警告 | IDE0001 名前を簡略化できる |
よくある C# エラー(CS 系)の例
| コード | 意味 | 対処 |
|---|---|---|
| CS0103 | 名前が存在しない | 綴り・宣言の有無・スコープ・名前空間を確認し、必要な場合だけusingを補う |
| CS0246 | 型または名前空間が見つからない | 綴り・名前空間・既存参照・復元結果と対象フレームワークを先に確認。無関係なパッケージを追加しない |
| CS1002 | ; が必要 | セミコロンを補う |
| CS1061 | 定義に '〜' が含まれない | typo / 拡張メソッドの using 漏れ |
| CS0117 | その型に指定したメンバーの定義がない(静的メンバーだけに限定しない) | 正しいクラス / typo を確認 |
| CS0029 | 暗黙の変換ができない | 変換元・先の型と意図を確認。適切な変換が存在するときだけ明示変換し、キャストの機械的追加はしない |
| CS0019 | 演算子は型に適用できない | 型同士の演算子の妥当性確認 |
| CS8602 | null 参照の可能性(NRT) | 参照前のnull判定や値の供給元を確認。型をnull許容にするだけでは参照時の危険は解消しない |
よくある C++ エラーの例
| コード | 意味 | 対処 |
|---|---|---|
| C2065 | 未宣言の識別子 | ヘッダ include / typo 修正 |
| C2143 | 構文エラー:必要なトークンが別のトークンの前にない | メッセージのトークンと直前の構文を確認。セミコロン不足とは限らない |
| C2664 | 引数を型変換できない | 引数の型を見直す |
| LNK2019 | 外部シンボルが解決できない | ライブラリ / オブジェクトのリンク漏れ |
| LNK2001 | 未解決の外部シンボル | 同上 / 関数定義が見つからない |
エラーから素早く解決する手順
- コードとメッセージを一緒に記録し、対象プロジェクト・ファイル・行、Build / IntelliSense、構成・プラットフォームを確認。公開時は秘密値やローカルパスを伏せる
- 該当行をダブルクリックで開く
- F1 キーで Microsoft Learn のページを開く
- キーワード(コード + メッセージ要約)でMicrosoft Learn / Stack Overflow を検索
- 修正後は同じ構成でビルドして結果を比較。既定の Ctrl + Shift + B はソリューションのビルドであり、クリーンを含むリビルドとは別
エラー一覧のフィルタリング
ウィンドウ上部のチェックボックスやドロップダウンで以下を切り替えできます。
- エラー / 警告 / メッセージ の表示 ON/OFF
- ビルド + IntelliSense / ビルドのみ / IntelliSense のみ
- 現在のプロジェクト / 開いているドキュメント / ソリューション全体
- 検索ボックスでエラーコード / メッセージを絞り込み
クイックアクション(電球マーク)
エラー行に表示される電球マーク(または Ctrl + .)から、IDE が候補修正を提案します。using 追加、変数生成、メソッド抽出など、ワンクリックで適用可能です。
警告の警告レベル設定
警告設定は言語・SDK・プロジェクト形式で異なります。C# の WarningLevel は0〜4だけに限定されず、4超の warning wave もあります。.NET 7以降はTFMと AnalysisLevel も既定値に関係します。C++ の /W0〜/W4・/Wall やアナライザーのseverityとは区別し、エラーを隠すために設定を下げず、各診断の意味を確認します。
IntelliSense エラー vs ビルドエラー
| 種別 | 性質 | 対処 |
|---|---|---|
| IntelliSense エラー | IDE のリアルタイム解析。ビルドは通る場合あり | 同じ構成・対象でBuildの結果と比較し、参照・SDK・解析元の違いを確認 |
| ビルドエラー | ビルド処理で報告された失敗(コンパイル以外のMSBuildタスク等も含む) | 出力ログで失敗した段階と先行診断を確認し、その原因を修正 |
赤波線だけでキャッシュ破損と断定しません。エラー一覧のソース・対象フィルターと出力ログを確認し、利用SDK・参照・構成が一致するか比較します。.vs 削除や再読み込みを一律の初手にはしません。
ビルド出力ウィンドウとの違い
| ウィンドウ | 役割 |
|---|---|
| エラー一覧 | エラー/警告/メッセージを構造化して表示 |
| 出力(ビルド) | MSBuild の生ログ。コマンドや詳細を確認 |
エラー一覧で原因不明なときは出力ウィンドウのビルドログを見ると、MSBuild のターゲット実行ログから根本原因が分かることがあります。
FAQ
Q: 同じエラーが大量に出る
A: 連鎖エラーなら先行原因の修正で減る場合があります。ただしエラー一覧は列で並べ替えでき、画面の先頭が発生順とは限りません。出力ログで該当プロジェクトの先行診断を確認し、修正後に同条件で比較します。
Q: 警告は無視してよい?
A: 内容次第。null 参照可能性(CS8602)や使われない変数(CS0168)など潜在バグ系は対処すべき。スタイル系はEditorConfig でルール化を検討。
Q: エラーコードがどの言語/機能のものかわからない
A: F1 でドキュメントを開く、またはMicrosoft Learn でコード名を検索。プレフィックスがヒントになります(CS=C#、C=C/C++、LNK=リンカー)。
外部ツールとの連携
大規模プロジェクトでは Visual Studio 単体のエラー一覧に加え、以下のツールがエラー / 警告検出を補強します。
| ツール | 役割 |
|---|---|
| Roslyn Analyzers | C# のカスタム静的解析(追加ルール) |
| StyleCop Analyzers | C# コーディング規約のチェック |
| SonarLint / SonarQube | 多言語の品質 / セキュリティ静的解析 |
| ReSharper | JetBrains 製の VS 拡張(高度な解析と修正提案) |
| Code Cleanup | VS 標準の自動コード整形 + 簡易リファクタ |
CI でビルド警告をチェックする
CIでの警告のエラー化は有用ですが、C# の TreatWarningsAsErrors はC#コンパイラに作用し、MSBuild の -warnaserror はタスク全体に作用するため同一ではありません。次の既存例は dotnet SDK を使うC#ビルド向けで、全言語・全ビルド段階の警告を同じ範囲で検出する保証ではありません。まず対象と既存の警告方針を確認します。下の2本目はBashでは掲載の引用形のまま実行しないでください。シェルで引用符が外れた後、MSBuildがセミコロンをプロパティの区切りと解釈し、値の後半を不正なプロパティとして拒否し得ます。プロジェクト側で指定する場合は、既存のPropertyGroupと対象条件を確認して<WarningsAsErrors>CS8602;CS8603</WarningsAsErrors>のように列挙します。これはMSBuild引数の引用・分割と別の指定方法で、全シェル共通のコマンド実行を保証する例ではありません。
# 例: CI で警告をエラーとして扱う
dotnet build /p:TreatWarningsAsErrors=true
# 特定の警告のみエラー化
dotnet build /p:WarningsAsErrors="CS8602;CS8603"
一次資料:エラー一覧、キー割当とBuild、C#警告設定とMSBuildとの差、null許容参照型の警告、CS0117、CS0029、C2143。
関連
- Visual Studio — Microsoft の統合開発環境
- MSBuild — VS のビルドエンジン
- IntelliSense — IDE のコード補完 / 解析
- Microsoft Learn — 公式ドキュメント
- EditorConfig — エディタ / コード規約の共有
- Roslyn Analyzers — C# 用の追加静的解析
公式仕様の確認先:Visual Studio2022エラー一覧、C#の警告とエラー(2026-10-28確認)。画面・設定・コードは対象版と各例の前提条件を照合してください。
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09