Skip to content

付録B Visual Studio 2022 の準備と基本操作

この付録は、本研修で使う Visual Studio 2022(以下 VS)正式な操作手順書 です。

  • 第 1 章以降の各章では、初めて出てくる操作だけを本文で説明し、詳しい手順はこの付録に集約 しています。
  • 第 1 章本文からは「プロジェクト作成手順は付録 B を参照」と明示的に誘導しています。
  • 過去章のプロジェクトを再開するときや、操作で迷ったときも、この付録に戻ってきてください。

他の付録との役割分担

付録内容本付録から委譲
付録 B(本付録)機能・操作の 正式手順(本付録)
付録 Dショートカットキー一覧、入力効率化F5 / Ctrl+. / F9〜F11 などの ショートカット詳細
付録 Eエラーメッセージへの 対処「赤い波線が消えない」「テンプレートが見つからない」などの トラブル解決

本付録は どう操作するか を扱い、ショートカットの一覧は付録 D、エラーが出たときの対処は付録 E に分けています。


VS の画面は、最初は要素が多くて戸惑いがちです。 本研修で 常に意識する画面 は、次の 4 つに絞られます。

画面役割表示位置(既定)
ソリューションエクスプローラープロジェクト内のファイルを操作する右側
コードエディターC# コードを書く中央
エラー一覧コンパイルエラー・警告を確認する下部(タブ切替)
出力ビルド・実行ログを確認する下部(タブ切替)

これ以外の画面(プロパティウィンドウ、ツールボックス、テスト エクスプローラーなど)は、必要な章で初出時に紹介 します。

ソリューションエクスプローラーやエラー一覧が見当たらないときは、メニューから出し直せます。

[表示] メニュー
[ソリューション エクスプローラー] / [エラー一覧] / [出力]

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 開発
スタートメニュー
"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 種類のテンプレートと、作成後に必ず行う共通設定 を整理します。

[ファイル] → [新規作成] → [プロジェクト]
検索ボックスでテンプレートを絞り込む(下表参照)
プロジェクト名・保存場所を入力
フレームワーク = [.NET 8.0] を選択
追加情報のチェック(テンプレートにより異なる、下記参照)
[作成]
作成するアプリ検索ワード選ぶテンプレート
コンソールアプリコンソール または consoleコンソール アプリ(C#、.NET)
Windows フォームアプリWindows フォーム または Windows FormsWindows フォーム アプリ
ASP.NET Core MVCMVCASP.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 ファイル・フォルダ・クラスを追加する”
ソリューションエクスプローラーで、追加したい場所(プロジェクトまたはフォルダ)を右クリック
[追加] → [クラス]
ファイル名を入力(例:Employee.cs)
[追加]

例:

Employee.cs
EmployeeRepository.cs
プロジェクトを右クリック
[追加] → [新しいフォルダー]
名前を入力(例:Data)

MVC プロジェクトの規約フォルダ

Section titled “MVC プロジェクトの規約フォルダ”

ASP.NET Core MVC プロジェクトでは、フォルダ構成に 規約 があります(B-9 参照)。

フォルダ入れるもの
Controllers*Controller.cs
ModelsModel クラス
Views/(Controller名)/*.cshtml(View)
Data(慣習)Repository クラス(本研修で追加するフォルダ)

第 28 章で Data フォルダを作って EmployeeRepository.cs を置く、という手順が登場します。


B-7 NuGet パッケージの追加と復元

Section titled “B-7 NuGet パッケージの追加と復元”

NuGet は、外部ライブラリを取り込む仕組みです。本研修では主に Oracle 接続用パッケージで使用します。

プロジェクトを右クリック
[NuGet パッケージの管理]
[参照] タブ
検索ボックスにパッケージ名(例:Oracle.ManagedDataAccess.Core)
ヒットしたパッケージを選択
[インストール]
ライセンス同意 → [I Accept]

本研修で使う代表的なパッケージ

Section titled “本研修で使う代表的なパッケージ”
パッケージ使う章用途
Oracle.ManagedDataAccess.Core第 16〜17 章、第 23〜25 章、第 28〜29 章Oracle Database 接続
Csv第 22 章CSV 読み書き(Forms 編で書籍指定)

NuGet で追加したパッケージは、using で参照できるようになります。

using Oracle.ManagedDataAccess.Client;

using を書いた行に 赤い波線 が出る場合は、パッケージのインストールが完了していない可能性があります(対処は 付録 E-6 参照)。

パッケージの復元(過去章プロジェクトを開いたとき)

Section titled “パッケージの復元(過去章プロジェクトを開いたとき)”

過去章のプロジェクトを別 PC で開いたり、bin/obj を消した後に開くと、NuGet パッケージが 復元 されます。

プロジェクトを開く
出力ウィンドウに「パッケージを復元しています…」が表示される
完了するまで待つ(数十秒)

復元が走らない場合は、ソリューションを右クリック → [NuGet パッケージの復元] を手動実行できます。


操作内容
ビルドC# のソースコードを実行可能な形式に変換する(コンパイル)
実行ビルドした成果物を起動する
デバッグ実行ブレークポイントなどを使い、状態を確認しながら実行する
[ビルド] → [ソリューションのビルド]
[デバッグ] → [デバッグの開始]
[デバッグ] → [デバッグなしで開始]
[デバッグ] → [デバッグの停止]
操作キー
デバッグ実行F5
デバッグなしで実行Ctrl + F5
ソリューションのビルドCtrl + Shift + B
デバッグの停止Shift + F5

ショートカットの詳しい一覧と使い分けは付録 D-2 参照。 本付録ではメニュー操作とキーの対応のみ示します。

F5 : ブレークポイントで止めながら確認したいとき
Ctrl + F5 : まず動作結果だけ見たいとき

Web アプリ(ASP.NET Core MVC)の起動方法は 第 26 章 26-4「Web アプリの動かし方」 で詳しく扱っています。

操作キー内容
ブレークポイントの設定/解除F9(または行番号左をクリック)プログラムを止める位置を指定
ステップオーバーF10現在の行を実行して次の行へ
ステップインF11メソッドの中に入って確認
ステップアウトShift + F11メソッドの外へ戻る

デバッグ操作の詳しい使い分けは 第 21 章「デバッグ操作と GUI アプリの確認」 および 付録 D-10 で扱います。


B-9 VS のフィードバック(エラー一覧・赤い波線・クイックアクション)

Section titled “B-9 VS のフィードバック(エラー一覧・赤い波線・クイックアクション)”

VS は、コードに問題があるとき次の 3 種類のフィードバックを返してきます。

ビルドや入力時に検出された問題が エラー一覧 に表示されます。

内容
重大度エラー(赤❌)/ 警告(黄⚠)
コードエラー番号(例: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 章エントリ参照)”
部品種類命名例
ButtonbuttonSearchbuttonUpdateSalary
TextBoxtextBoxKeywordtextBoxNewSalary
LabellabelStatus
DataGridViewdataGridViewEmployees

デザイナーが開かない / 壊れたら

Section titled “デザイナーが開かない / 壊れたら”

「デザイナーをロードできませんでした」のような表示が出たら、自分で Designer.cs を直さず、講師に相談 してください。 復旧は付録 E-11 でも触れますが、最初のうちは無理に触らないのが安全です。


B-11 ASP.NET Core MVC プロジェクトの注意点

Section titled “B-11 ASP.NET Core MVC プロジェクトの注意点”

第 26 章以降の MVC 編では、フォルダ構成に規約 があります。 規約から外れると、画面が出ない / Controller が呼ばれないなどの不具合が起きます。

Controllers/EmployeeController.cs ← Controller(クラス名は "<名前>Controller")
Models/Employee.cs ← Model
Views/Employee/Index.cshtml ← View(Controller 名と同じフォルダ + アクション名)
Data/EmployeeRepository.cs ← Repository(本研修の慣習)
URL: /Employee/Index
↓ ルーティング
EmployeeController.Index() メソッド
↓ return View(...)
Views/Employee/Index.cshtml

/Employee/Edit/1001 のような URL パスに ID が入る形は、第 27 章発展課題 / 第 29 章で扱います。

View が表示されないときの確認順

Section titled “View が表示されないときの確認順”
  1. Controller 名 = <名前>Controller(ファイル名・クラス名)
  2. View のフォルダ名 = Controller 名(Controller を除く)と一致
  3. View のファイル名 = アクション名 + .cshtml
  4. View に @model 宣言があり、Controller が渡している型と一致

それでも解決しないときは 付録 E-12 を参照してください。

ファイル役割編集する場面
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

操作で迷ったら、自己判断で設定を大きく変えず、まずこの付録に戻ってきてください。それでも解決しなければ講師に相談してください。