| この記事の要点 |
|
エラー内容
Visual Studio で Windows フォーム(Form)を自動生成したとき、「値が有効な範囲にありません」エラーが発生します。プロジェクトを新規作成した直後や、「追加 → フォーム (Windows フォーム)」でフォームを追加した直後、まだ自分では何もコードを書いていない状態で発生します。
値が有効な範囲にありません。
(英語版: Value does not fall within the expected range.)
原因
このメッセージは .NET の ArgumentException の既定のメッセージ(内部的なエラーコード E_INVALIDARG / 0x80070057 に対応)で、「関数に渡された値が想定外だった」ことしか表していません。自動生成直後に出る場合は、生成されたコードではなく Visual Studio 自身(デザイナー、テンプレート処理、拡張機能、内部キャッシュ)の一時的な不整合が原因であることがほとんどです。
考えられる要因は次のとおりです。いずれも「どれが原因か」をエラー文だけから特定するのは難しいため、下の対処を手軽なものから順に試します。
- Visual Studio のプロセス内に残った古い状態(長時間起動したまま、ソリューションの切り替えを繰り返した等)
- ソリューション単位の作業ファイル(
.vsフォルダ内の.suoなど)の破損 - Visual Studio のコンポーネントキャッシュ(ComponentModelCache)の不整合。更新や拡張機能のインストール直後に起きやすい
- 拡張機能の不具合
対処法
1. Visual Studio を再起動する
Visual Studio を再起動すれば解消されることを確認しています。すべての Visual Studio ウィンドウを閉じ、タスクマネージャーで devenv.exe が残っていないことを確認してから起動し直します。
2. デザイナーを閉じてリビルドする
- 開いている「Form1.cs [デザイン]」のタブをすべて閉じる
- メニューの「ビルド → ソリューションのクリーン」→「ソリューションのリビルド」
- ソリューション エクスプローラーで Form1.cs をダブルクリックしてデザイナーを開き直す
3. 作業ファイルを削除する(Visual Studio を閉じた状態で)
ソリューションのフォルダにある次のフォルダを削除します。いずれも再ビルドや再起動で自動的に作り直されるもので、ソースコードは含まれません。
.vs(隠しフォルダ。ウィンドウ配置などのユーザー設定.suoが入っている。削除すると開いていたタブなどの状態はリセットされる)- 各プロジェクトの
binとobj
4. ComponentModelCache を削除する
Visual Studio を閉じてから、次のフォルダ内の ComponentModelCache フォルダを削除します。次回起動時に再作成されます。
%LOCALAPPDATA%\Microsoft\VisualStudio\<バージョン番号_インスタンスID>\ComponentModelCache
例: VS 2019 なら 16.0_xxxxxxxx、VS 2022 なら 17.0_xxxxxxxx
5. 拡張機能を疑う・Visual Studio を修復する
- コマンドプロンプトで
devenv /SafeModeを実行すると、拡張機能を読み込まずに起動できる。この状態でエラーが出なければ、最近入れた拡張機能を無効にして確かめる - 「Visual Studio Installer」から更新を適用する。既知の不具合が修正されていることがある
- それでも直らない場合は、Visual Studio Installer の「その他 → 修復」を実行する
確認したいポイント
| 確認項目 | 見るところ |
|---|---|
| プロジェクトの種類 | 「Windows フォーム アプリ (.NET Framework)」と「Windows フォーム アプリ」(.NET) は別テンプレート。.NET 版のデザイナーは別プロセスで動くなど仕組みが異なるため、どちらで起きているかを把握しておく |
| 保存場所のパス | パスが非常に長い、OneDrive 同期フォルダの中にある、といった場合にファイル生成が不安定になることがある。C:\work のような短いパスで新規作成して再現するか試す |
| 生成されたファイル | Form1.cs / Form1.Designer.cs / Form1.resx がそろっているか。Designer.cs が空や途中で切れていればテンプレート処理の失敗 |
| 出力ウィンドウ | 「表示 → 出力」で、エラー発生時に詳しいメッセージが出ていないか |
| Visual Studio のバージョン | 「ヘルプ → Microsoft Visual Studio のバージョン情報」。更新で直る不具合もあるため、問い合わせや検索の際に必要 |
解消できたかの確認方法
- Visual Studio 起動後、新しい Windows フォーム プロジェクトを作成してエラーが出ないか確認する
- デザイナーでフォームにボタンを 1 つ置き、ビルド(Ctrl+Shift+B)と実行(F5)ができることを確かめる
- 既存のプロジェクトでも、フォームの追加・デザイナーの表示ができるか確認する
バージョン情報
本記事の現象と「再起動で解消」を確認した環境:
Microsoft Visual Studio Community 2019
Version 16.11.3
関連
- Visual Studio「ドキュメントが読み込まれなかったため、デザイナーを表示できません」原因と対処
- Visual Studio エラー一覧
- .suo ファイルとは|Visual Studio のユーザー固有設定と .gitignore
- Visual Studio フォームのタブ順序変更完全ガイド
子ページはありません
- 【Visual Studio】Form自動生成時に「値が有効な範囲にありません」エラー
- トップレベルのコントロールをコントロールに追加できません。
- 指定された名前のソリューションファイルが既に存在するため、ソリューション名を変更できません
人気ページ
- 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