ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Visual Studio のエラーとは
Visual Studio はビルド時にコードを解析し、誤りや潜在的な問題をエラー一覧(Error List)ウィンドウに表示します。子ページに個別のエラーコード解説を蓄積していく一覧ページですが、まずはエラー一覧の基本操作とエラーの読み方を押さえましょう。
エラー一覧ウィンドウの開き方
- メニュー: 表示 → エラー一覧
- ショートカット: Ctrl + W, E(Ctrl+W を押した直後に E)
- ビルドエラー発生時に自動でフォーカスされる場合あり
3 段階のレベル
| レベル | 色 | 意味 |
|---|---|---|
| エラー | 赤の× | ビルドが失敗する致命的な問題 |
| 警告 | 黄の△ | ビルドは通るが潜在的な問題 |
| メッセージ | 青の 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 ディレクティブ追加 / typo 修正 |
| CS0246 | 型または名前空間が見つからない | 参照追加 / NuGet パッケージ導入 |
| CS1002 | ; が必要 | セミコロンを補う |
| CS1061 | 定義に '〜' が含まれない | typo / 拡張メソッドの using 漏れ |
| CS0117 | 定義に静的メンバが含まれない | 正しいクラス / typo を確認 |
| CS0029 | 暗黙の変換ができない | 明示的キャスト / 型を一致させる |
| CS0019 | 演算子は型に適用できない | 型同士の演算子の妥当性確認 |
| CS8602 | null 参照の可能性(NRT) | null チェック追加 / null 許容にする |
よくある C++ エラーの例
| コード | 意味 | 対処 |
|---|---|---|
| C2065 | 未宣言の識別子 | ヘッダ include / typo 修正 |
| C2143 | ; が必要 | セミコロン補い / 構文確認 |
| C2664 | 引数を型変換できない | 引数の型を見直す |
| LNK2019 | 外部シンボルが解決できない | ライブラリ / オブジェクトのリンク漏れ |
| LNK2001 | 未解決の外部シンボル | 同上 / 関数定義が見つからない |
エラーから素早く解決する手順
- エラーコードでメモる — メッセージ全文より優先
- 該当行をダブルクリックで開く
- F1 キーで Microsoft Learn のページを開く
- キーワード(コード + メッセージ要約)でMicrosoft Learn / Stack Overflow を検索
- 修正してリビルド(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 Analyzers | C# のカスタム静的解析(追加ルール) |
| StyleCop Analyzers | C# コーディング規約のチェック |
| SonarLint / SonarQube | 多言語の品質 / セキュリティ静的解析 |
| ReSharper | JetBrains 製の VS 拡張(高度な解析と修正提案) |
| Code Cleanup | VS 標準の自動コード整形 + 簡易リファクタ |
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# 用の追加静的解析
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?