付録B Visual Studio 2022 の準備と基本操作
この付録の目的
Section titled “この付録の目的”この付録は、本研修で使う Visual Studio 2022(以下 VS) の 正式な操作手順書 です。
- 第 1 章以降の各章では、初めて出てくる操作だけを本文で説明し、詳しい手順はこの付録に集約 しています。
- 第 1 章本文からは「プロジェクト作成手順は付録 B を参照」と明示的に誘導しています。
- 過去章のプロジェクトを再開するときや、操作で迷ったときも、この付録に戻ってきてください。
他の付録との役割分担
付録 内容 本付録から委譲 付録 B(本付録) 機能・操作の 正式手順 (本付録) 付録 D ショートカットキー一覧、入力効率化 F5 / Ctrl+. / F9〜F11 などの ショートカット詳細 付録 E エラーメッセージへの 対処 「赤い波線が消えない」「テンプレートが見つからない」などの トラブル解決 本付録は どう操作するか を扱い、ショートカットの一覧は付録 D、エラーが出たときの対処は付録 E に分けています。
B-1 Visual Studio の全体マップ
Section titled “B-1 Visual Studio の全体マップ”VS の画面は、最初は要素が多くて戸惑いがちです。 本研修で 常に意識する画面 は、次の 4 つに絞られます。
| 画面 | 役割 | 表示位置(既定) |
|---|---|---|
| ソリューションエクスプローラー | プロジェクト内のファイルを操作する | 右側 |
| コードエディター | C# コードを書く | 中央 |
| エラー一覧 | コンパイルエラー・警告を確認する | 下部(タブ切替) |
| 出力 | ビルド・実行ログを確認する | 下部(タブ切替) |
これ以外の画面(プロパティウィンドウ、ツールボックス、テスト エクスプローラーなど)は、必要な章で初出時に紹介 します。
画面が消えてしまったとき
Section titled “画面が消えてしまったとき”ソリューションエクスプローラーやエラー一覧が見当たらないときは、メニューから出し直せます。
[表示] メニュー ↓[ソリューション エクスプローラー] / [エラー一覧] / [出力]TODO: 図B-1「VS の主要画面 4 つの位置関係」を挿入する
B-2 初回セットアップ(ワークロード確認)
Section titled “B-2 初回セットアップ(ワークロード確認)”本研修では、次の 3 種類のアプリを作成します。それぞれに対応する ワークロード が VS Installer で有効になっている必要があります。
| 作成するアプリ | 必要なワークロード |
|---|---|
| コンソールアプリ | .NET デスクトップ開発 |
| Windows フォームアプリ | .NET デスクトップ開発 |
| ASP.NET Core MVC Web アプリ | ASP.NET と Web 開発 |
ワークロードの確認手順
Section titled “ワークロードの確認手順”スタートメニュー ↓"Visual Studio Installer" を起動 ↓"Visual Studio Community 2022" の [変更] ボタン ↓[ワークロード] タブで上記 2 つにチェックが入っているか確認 ↓不足していればチェックを入れて [変更] を適用研修環境では、原則として事前にセットアップ済みです。 プロジェクト作成時に「テンプレートが見つからない」場合は、ワークロード不足の可能性があります(対処は 付録 E-1 参照)。
設定を大きく変えるときは講師に確認
ワークロードの追加には数分〜十数分かかります。研修中の追加は休憩時間に行うか、講師に相談してください。
B-3 ソリューションとプロジェクト
Section titled “B-3 ソリューションとプロジェクト”VS では「ソリューション」と「プロジェクト」という 2 つの単位がよく出てきます。
| 用語 | 意味 | 物理ファイル |
|---|---|---|
| プロジェクト | 1 つのアプリやライブラリを作る単位 | *.csproj |
| ソリューション | 複数のプロジェクトをまとめる入れ物 | *.sln |
本研修では、原則として 1 ソリューション = 1 プロジェクト です。
ソリューション (Chapter01_FirstCSharp.sln) └─ プロジェクト (Chapter01_FirstCSharp.csproj) ├─ Program.cs ├─ bin/ ← ビルド成果物(Git 管理しない) └─ obj/ ← 中間生成物(Git 管理しない)bin / obj フォルダ、および .vs フォルダは Git の管理対象に入れない のが原則です(付録 C 参照)。
B-4 プロジェクトを新規作成する
Section titled “B-4 プロジェクトを新規作成する”本研修で使う 3 種類のテンプレートと、作成後に必ず行う共通設定 を整理します。
共通の作成手順
Section titled “共通の作成手順”[ファイル] → [新規作成] → [プロジェクト] ↓検索ボックスでテンプレートを絞り込む(下表参照) ↓プロジェクト名・保存場所を入力 ↓フレームワーク = [.NET 8.0] を選択 ↓追加情報のチェック(テンプレートにより異なる、下記参照) ↓[作成]テンプレートの選び方
Section titled “テンプレートの選び方”| 作成するアプリ | 検索ワード | 選ぶテンプレート |
|---|---|---|
| コンソールアプリ | コンソール または console | コンソール アプリ(C#、.NET) |
| Windows フォームアプリ | Windows フォーム または Windows Forms | Windows フォーム アプリ |
| ASP.NET Core MVC | MVC | ASP.NET Core Web アプリ (Model-View-Controller) |
間違えやすいテンプレート(本研修では使いません)
名前 違い コンソール アプリ (.NET Framework)古い .NET。 .NET(.NET Frameworkではない) を選ぶASP.NET Core Web アプリ(MVC が付かない)Razor Pages 用。本研修では MVC 版を使う Blazor Web アプリ/Web API/Razor Pages別の Web フレームワーク。本研修では使わない
追加情報のチェック(テンプレート別)
Section titled “追加情報のチェック(テンプレート別)”| テンプレート | 必須チェック |
|---|---|
| コンソール アプリ | 「最上位レベルのステートメントを使用しない」 に ✅ チェック(本研修では Main メソッドを明示する方針) |
| Windows フォーム アプリ | チェック項目なし |
| ASP.NET Core MVC | 「認証の種類」= なし、HTTPS 用の構成は既定のまま |
TODO: 図B-2「コンソール アプリの追加情報画面(『最上位レベルのステートメントを使用しない』にチェック)」を挿入する
作成後の必須設定:csproj の Nullable disable
Section titled “作成後の必須設定:csproj の Nullable disable”本研修では すべてのプロジェクト で次の設定を行います。
ソリューションエクスプローラー ↓プロジェクト名(または `*.csproj`)をダブルクリック ↓csproj の中身が開く ↓<Nullable>enable</Nullable> を <Nullable>disable</Nullable> に変更 ↓Ctrl + S で保存して csproj タブを閉じる変更前:
<Nullable>enable</Nullable>変更後:
<Nullable>disable</Nullable>なぜ Nullable disable にするのか
Nullable は変数に「値が入っていないかもしれない」状態を厳密にチェックする機能です。 便利な機能ですが、初学者には警告が出やすく、学習の妨げになります。本研修では基礎に集中するため、機能を無効にしています。 第 11 章で改めて学習します。
第 1 章以降のテキストでは、この設定の手順は省略され「csproj の Nullable は disable に変更してください(第 1 章「1-1」参照)」と書かれています。 迷ったときは本セクションに戻ってください。
作成後の確認:F5 でテンプレート初期画面が出るか
Section titled “作成後の確認:F5 でテンプレート初期画面が出るか”プロジェクトを作ったら、まず F5(デバッグ実行) で起動できることを確認します。
| アプリ種別 | 期待される表示 |
|---|---|
| コンソール | Hello, World! がコンソールに表示される |
| Windows フォーム | 空のフォームが表示される |
| ASP.NET Core MVC | ブラウザが起動し、テンプレートの初期画面が表示される(初回は HTTPS 証明書の確認が出る) |
ここで動かない場合は、付録 E-1 または講師に相談してください。
B-5 既存のソリューションを開く・閉じる
Section titled “B-5 既存のソリューションを開く・閉じる”過去章のプロジェクトを再開するときの操作です。
[ファイル] → [開く] → [プロジェクト/ソリューション] ↓*.sln ファイルを選択 ↓[開く]または、.sln ファイルをダブルクリック でも開けます。
最近使ったソリューションから開く
Section titled “最近使ったソリューションから開く”[ファイル] → [最近使ったプロジェクトとソリューション] ↓リストから選択[ファイル] → [ソリューションを閉じる]VS 全体を終了するには Alt + F4、または [ファイル] → [終了]。
過去章のプロジェクトを開くと黄色の警告が出る場合
NuGet パッケージの復元が走ることがあります。下部の出力ウィンドウに「パッケージを復元しています…」と出ていれば待ちましょう(数十秒)。詳細は B-6 を参照。
B-6 ファイル・フォルダ・クラスを追加する
Section titled “B-6 ファイル・フォルダ・クラスを追加する”クラス(.cs)を追加する
Section titled “クラス(.cs)を追加する”ソリューションエクスプローラーで、追加したい場所(プロジェクトまたはフォルダ)を右クリック ↓[追加] → [クラス] ↓ファイル名を入力(例:Employee.cs) ↓[追加]例:
Employee.csEmployeeRepository.csフォルダを追加する
Section titled “フォルダを追加する”プロジェクトを右クリック ↓[追加] → [新しいフォルダー] ↓名前を入力(例:Data)MVC プロジェクトの規約フォルダ
Section titled “MVC プロジェクトの規約フォルダ”ASP.NET Core MVC プロジェクトでは、フォルダ構成に 規約 があります(B-9 参照)。
| フォルダ | 入れるもの |
|---|---|
Controllers | *Controller.cs |
Models | Model クラス |
Views/(Controller名)/ | *.cshtml(View) |
Data(慣習) | Repository クラス(本研修で追加するフォルダ) |
第 28 章で Data フォルダを作って EmployeeRepository.cs を置く、という手順が登場します。
B-7 NuGet パッケージの追加と復元
Section titled “B-7 NuGet パッケージの追加と復元”NuGet は、外部ライブラリを取り込む仕組みです。本研修では主に Oracle 接続用パッケージで使用します。
パッケージを追加する
Section titled “パッケージを追加する”プロジェクトを右クリック ↓[NuGet パッケージの管理] ↓[参照] タブ ↓検索ボックスにパッケージ名(例:Oracle.ManagedDataAccess.Core) ↓ヒットしたパッケージを選択 ↓[インストール] ↓ライセンス同意 → [I Accept]本研修で使う代表的なパッケージ
Section titled “本研修で使う代表的なパッケージ”| パッケージ | 使う章 | 用途 |
|---|---|---|
Oracle.ManagedDataAccess.Core | 第 16〜17 章、第 23〜25 章、第 28〜29 章 | Oracle Database 接続 |
Csv | 第 22 章 | CSV 読み書き(Forms 編で書籍指定) |
追加後の確認
Section titled “追加後の確認”NuGet で追加したパッケージは、using で参照できるようになります。
using Oracle.ManagedDataAccess.Client;using を書いた行に 赤い波線 が出る場合は、パッケージのインストールが完了していない可能性があります(対処は 付録 E-6 参照)。
パッケージの復元(過去章プロジェクトを開いたとき)
Section titled “パッケージの復元(過去章プロジェクトを開いたとき)”過去章のプロジェクトを別 PC で開いたり、bin/obj を消した後に開くと、NuGet パッケージが 復元 されます。
プロジェクトを開く ↓出力ウィンドウに「パッケージを復元しています…」が表示される ↓完了するまで待つ(数十秒)復元が走らない場合は、ソリューションを右クリック → [NuGet パッケージの復元] を手動実行できます。
B-8 ビルド・実行・停止
Section titled “B-8 ビルド・実行・停止”| 操作 | 内容 |
|---|---|
| ビルド | C# のソースコードを実行可能な形式に変換する(コンパイル) |
| 実行 | ビルドした成果物を起動する |
| デバッグ実行 | ブレークポイントなどを使い、状態を確認しながら実行する |
メニューからの操作
Section titled “メニューからの操作”[ビルド] → [ソリューションのビルド][デバッグ] → [デバッグの開始][デバッグ] → [デバッグなしで開始][デバッグ] → [デバッグの停止]ショートカットでの操作
Section titled “ショートカットでの操作”| 操作 | キー |
|---|---|
| デバッグ実行 | F5 |
| デバッグなしで実行 | Ctrl + F5 |
| ソリューションのビルド | Ctrl + Shift + B |
| デバッグの停止 | Shift + F5 |
ショートカットの詳しい一覧と使い分けは付録 D-2 参照。 本付録ではメニュー操作とキーの対応のみ示します。
F5 と Ctrl+F5 の使い分け
Section titled “F5 と Ctrl+F5 の使い分け”F5 : ブレークポイントで止めながら確認したいときCtrl + F5 : まず動作結果だけ見たいときWeb アプリ(ASP.NET Core MVC)の起動方法は 第 26 章 26-4「Web アプリの動かし方」 で詳しく扱っています。
デバッグの基本操作
Section titled “デバッグの基本操作”| 操作 | キー | 内容 |
|---|---|---|
| ブレークポイントの設定/解除 | F9(または行番号左をクリック) | プログラムを止める位置を指定 |
| ステップオーバー | F10 | 現在の行を実行して次の行へ |
| ステップイン | F11 | メソッドの中に入って確認 |
| ステップアウト | Shift + F11 | メソッドの外へ戻る |
デバッグ操作の詳しい使い分けは 第 21 章「デバッグ操作と GUI アプリの確認」 および 付録 D-10 で扱います。
B-9 VS のフィードバック(エラー一覧・赤い波線・クイックアクション)
Section titled “B-9 VS のフィードバック(エラー一覧・赤い波線・クイックアクション)”VS は、コードに問題があるとき次の 3 種類のフィードバックを返してきます。
[1] エラー一覧
Section titled “[1] エラー一覧”ビルドや入力時に検出された問題が エラー一覧 に表示されます。
| 列 | 内容 |
|---|---|
| 重大度 | エラー(赤❌)/ 警告(黄⚠) |
| コード | エラー番号(例:CS0103) |
| 説明 | エラー内容 |
| ファイル / 行 | 発生箇所 |
エラーを ダブルクリック すると、該当行に飛びます。
エラーが多いときは「最初の 1 つ」から直す
1 つの誤りが連鎖して大量のエラーになることがあります。最初の 1 件を修正すると、他のエラーが消えることもあります。
エラー一覧が表示されていないときは [表示] → [エラー一覧] で開けます。
[2] 赤い波線(コードエディター上)
Section titled “[2] 赤い波線(コードエディター上)”コード上の文法ミスや参照不足は 赤い波線 で示されます。波線の上に マウスを乗せる と、エラー内容のヒントが表示されます。
よくある原因:
- セミコロン(;)が抜けている- 変数名・クラス名のスペル違い- using が不足している(B-7 と E-6 を確認)- 中かっこ {} の対応が崩れている- 大文字/小文字を間違えている(C# は大文字小文字を区別)赤い波線が 消えない ときは 付録 E-4 を参照してください。
[3] クイックアクション(自動修正候補)
Section titled “[3] クイックアクション(自動修正候補)”エラー・警告が出ているとき、Ctrl + .(ピリオド)で 修正候補 を表示できます。
| 場面 | 候補例 |
|---|---|
using が不足 | using XXX; を自動追加 |
| 名前空間違い | 完全修飾名に書き換え |
| 未定義のクラス | クラスを生成 |
| 警告の自動修正 | 推奨書き換え |
候補が常に正しいとは限りません。内容を確認してから選んでください。クイックアクションのキーや使い方は 付録 D-6 で再確認できます。
B-10 Windows フォームデザイナーの注意点
Section titled “B-10 Windows フォームデザイナーの注意点”第 18 章以降の Forms 編で フォームデザイナー を使います。 ここでは、本研修で守ってほしいルールだけを示します。
| ルール | 理由 |
|---|---|
部品の Name プロパティを 役割 + 部品種類 で命名する | コードで参照するときに分かりやすい |
Form1.Designer.cs を直接編集しない | デザイナーが自動生成するファイル。手で触るとデザイナーが壊れる |
| イベントハンドラーをデザイナーから生成する | プロパティウィンドウの「⚡(イベント)」タブで設定する |
| 部品を削除した後、コードに イベントだけ残ったら手で消す | コンパイルエラーになる(対処は 付録 E-11) |
Name 命名の例(第 19 章で導入、章間整合ルール 19 章エントリ参照)
Section titled “Name 命名の例(第 19 章で導入、章間整合ルール 19 章エントリ参照)”| 部品種類 | 命名例 |
|---|---|
| Button | buttonSearch、buttonUpdateSalary |
| TextBox | textBoxKeyword、textBoxNewSalary |
| Label | labelStatus |
| DataGridView | dataGridViewEmployees |
デザイナーが開かない / 壊れたら
Section titled “デザイナーが開かない / 壊れたら”「デザイナーをロードできませんでした」のような表示が出たら、自分で Designer.cs を直さず、講師に相談 してください。
復旧は付録 E-11 でも触れますが、最初のうちは無理に触らないのが安全です。
B-11 ASP.NET Core MVC プロジェクトの注意点
Section titled “B-11 ASP.NET Core MVC プロジェクトの注意点”第 26 章以降の MVC 編では、フォルダ構成に規約 があります。 規約から外れると、画面が出ない / Controller が呼ばれないなどの不具合が起きます。
規約フォルダの対応
Section titled “規約フォルダの対応”Controllers/EmployeeController.cs ← Controller(クラス名は "<名前>Controller")Models/Employee.cs ← ModelViews/Employee/Index.cshtml ← View(Controller 名と同じフォルダ + アクション名)Data/EmployeeRepository.cs ← Repository(本研修の慣習)URL とファイルの対応
Section titled “URL とファイルの対応”URL: /Employee/Index ↓ ルーティングEmployeeController.Index() メソッド ↓ return View(...)Views/Employee/Index.cshtml/Employee/Edit/1001 のような URL パスに ID が入る形は、第 27 章発展課題 / 第 29 章で扱います。
View が表示されないときの確認順
Section titled “View が表示されないときの確認順”- Controller 名 =
<名前>Controller(ファイル名・クラス名) - View のフォルダ名 = Controller 名(
Controllerを除く)と一致 - View のファイル名 = アクション名 +
.cshtml - View に
@model宣言があり、Controller が渡している型と一致
それでも解決しないときは 付録 E-12 を参照してください。
appsettings.json と launchSettings.json
Section titled “appsettings.json と launchSettings.json”| ファイル | 役割 | 編集する場面 |
|---|---|---|
appsettings.json | アプリ全体の設定(接続文字列など) | 第 28 章で接続文字列を追加 |
Properties/launchSettings.json | 起動 URL・ポート番号などローカル開発用設定 | 通常は触らない(参考のみ) |
appsettings.json の編集は第 28 章で詳しく扱います。
- VS の主要画面は ソリューションエクスプローラー / コードエディター / エラー一覧 / 出力 の 4 つ
- 本研修では
.NET デスクトップ開発+ASP.NET と Web 開発の 2 ワークロードが必要 - プロジェクト作成後は csproj の
<Nullable>disable</Nullable>を必ず設定 - コンソール アプリのみ 「最上位レベルのステートメントを使用しない」にチェック
- 過去章のプロジェクトは
.slnを開くだけで再開できる(NuGet 復元は自動) - NuGet で
Oracle.ManagedDataAccess.Coreを追加するとusing Oracle.ManagedDataAccess.Client;が書けるようになる - ビルドは
Ctrl + Shift + B、実行はF5/Ctrl + F5(詳細は付録 D) - VS のフィードバックは エラー一覧 + 赤い波線 + クイックアクション(
Ctrl + .)の 3 つ - Forms では
Designer.csを 手で触らない、MVC ではフォルダ規約を守る - エラーが出て解決しないときは付録 E、ショートカットを覚えたいときは付録 D
操作で迷ったら、自己判断で設定を大きく変えず、まずこの付録に戻ってきてください。それでも解決しなければ講師に相談してください。