改訂新版 Visual Studio パーフェクトガイド

書籍の概要

この本の概要

本書は,初めて開発を行う人に向けに最新の「Visual Studio 2022」の活用方法を解説した入門書です。本書を読めば,.NET MAUI/Blazorによるマルチプラットフォーム開発,単体テストフレームワークを用いたソフトウェアテスト,Run To Clickによるデバッグ技法,行ステージングによるソースコード管理など開発に必要なVisual Studioの活用法がわかります。

こんな方におすすめ

  • 最新版のVisual Studioを使いたい人
  • .NET MAUIなど最新の情報を知りたい人

目次

第1章 Visual Studioとは

1-1 Visual Studioの概要

  • Visual Studioは統合開発環境(IDE)
  • 統合開発環境(IDE)の歴史
  • Visual Studioの歴史

1-2 Visual Studioの特徴

  • .NET Frameworkと.NET
  • .NET MAUI
  • Visual Studioで開発できるアプリケーションとワークロード
  • Visual Studioによるチーム開発

1-3 Visual Studioのエディション構成

  • Visual Studio 2022のエディション

第2章 Visual Studioをはじめよう

2-1 Visual Studioのインストール

  • Visual Studio 2022のシステム要件
  • Visual Studio 2022の入手先
  • Visual Studio 2022のインストール
  • ワークロードの追加,変更
  • 個別のコンポーネント構成
  • 言語パックのインストール

2-2 Visual Studioの起動と構成

  • Visual Studio 2022の起動
  • Visual Studio 2022の開発画面

2-3 アプリケーション開発の基礎知識

  • プロジェクトとソリューション
  • ビルドとコンパイル
  • デバッグ
  • Visual Studioの拡張機能

第3章 Visual Studioの基本

3-1 Visual Studioの基礎知識

  • Visual Studioでできること
  • Visual Studioで開発できるアプリケーションの種類
  • Visual Studioにおける開発の流れ

3-2 プロジェクトを使いこなす

  • プロジェクトを作成する
  • C#クラスを作成する
  • ソリューションを閉じる
  • プロジェクト/ソリューションを開く
  • 複数のプロジェクトを開く
  • ソリューションを移行する
  • プロジェクトの取り込み
  • ファイルの取り込み
  • プロジェクトの設定を理解する
  • NuGetパッケージを管理する

3-3 ソリューションエクスプローラー

  • 概要
  • 表示位置
  • 表示項目
  • ツールバー
  • 検索テキストボックス
  • コンテキストメニュー
  • 「ソリューション」ノードのコンテキストメニュー
  • 「プロジェクト」ノードのコンテキストメニュー
  • 「ファイル,クラス,メソッド」ノードのコンテキストメニュー

3-4 サーバーエクスプローラー

  • サーバーエクスプローラーとは
  • データベースへの新しい接続の作成
  • テーブルの追加
  • Entity Framework Coreの利用

第4章 エディターを使いこなす(コーディング)

4-1 エディターの基礎知識

  • テキストエディターとは
  • Visual Studioエディターの特徴

4-2 エディターの基本操作

  • 選択範囲のコメントアウト/コメント解除
  • 選択範囲のインデント/インデント解除
  • ソースコードの折りたたみ/展開
  • 検索/置換
  • 名前の変更
  • デザイナーの利用
  • プロジェクト参照の追加
  • サービスの参照
  • パッケージ情報の設定

4-3 便利な編集機能

  • 特定の場所への移動
  • Usingの削除と並べ替え
  • コード生成(スニペット,クイックアクションなど)
  • 画面の切り替えと分割
  • ズームイン・ズームアウト
  • ブロック選択モードの切り替え
  • 差分のクイック表示

4-4 入力予測機能の使用

  • IntelliSense
  • IntelliCode

4-5 エディターのカスタマイズ

  • 配色のカスタマイズ
  • フォントのカスタマイズ
  • 現在表示中のファイルを選択状態にする
  • 固定されたタブを別の行で表示する
  • 空白を表示する
  • スクロールバーの動作を変更する
  • タブを設定する

第5章 Visual Studioのデバッグ手法

5-1 デバッグ手法を学ぶ前の基礎知識

  • デバッグとは
  • サンプルプロジェクトの作成
  • サンプルプロジェクトのビルド
  • デバッグの開始

5-2 実行の制御

  • ステップイン
  • ステップオーバー
  • ステップアウト
  • Run To Click
  • 実行フローの変更
  • 呼び出し履歴ウィンドウ

5-3 データの検査

  • データヒント
  • 自動変数とローカル
  • ウォッチ
  • 変数ウィンドウの検索
  • コマンドウィンドウ
  • イミディエイトウィンドウ
  • 例外ヘルパー
  • 出力ウィンドウ
  • 実際のデバッグ
  • IntelliTraceの利用

5-4 実行中プロセスのデバッグ

  • プロセスにアタッチ
  • 一般的なアタッチによるデバッグ

第6章 Visual Studioのテスト手法

6-1 テスト手法を学ぶ前の基礎知識

  • ソフトウェアテスト
  • Visual Studioの単体テスト向けの機能
  • Visual Studioの機能/テストツール

6-2 単体テストのプログラム構成

  • テストドライバー
  • スタブ/モック

6-3 単体テスト用の機能

  • 単体テストプロジェクト
  • 単体テスト用の属性
  • Assertクラス
  • テストエクスプローラー
  • テストエクスプローラーのツールバー
  • テストエクスプローラーのコンテキストメニュー

6-4 テストドライバーの作成

  • サンプルプログラムのプロジェクト作成
  • フォームの作成
  • サービスクラスの作成
  • 単体テストのプロジェクト作成

6-5 スタブ/モックを利用した単体テストの実装

  • ロジックのクラスライブラリのプロジェクト作成
  • ロジック/機能のインターフェイス作成
  • モック用ライブラリの利用

6-6 クラスライブラリのテストドライバー作成

  • ロジッククラスの実装1
  • ロジッククラスの実装2
  • ロジッククラスの修正
  • ロジックオブジェクトのファクトリ作成
  • サンプルプログラムの仕上げ

6-7 特殊なテスト方法

  • privateメンバのテスト方法
  • internalクラスのテスト方法

第7章 Visual Studioのデプロイ手法

7-1 デプロイ手法を学ぶ前の基礎知識

  • デプロイとは
  • Webアプリのデプロイ
  • Windowsアプリのデプロイ

7-2 Webアプリのデプロイ

  • Webアプリの発行
  • Webアプリの発行(Web配置)
  • Webアプリの発行(Webデプロイパッケージ)

7-3 Windowsアプリのデプロイ

  • Windowsアプリの発行
  • Windowsアプリのデプロイ
  • Windowsインストーラーの作成

第8章 マルチプラットフォーム開発

8-1 マルチプラットフォーム開発の基礎知識

  • マルチプラットフォーム
  • マルチプラットフォームの必要性
  • マルチプラットフォーム開発用のフレームワーク

8-2 .NET MAUI

  • .NET MAUIとは
  • .NET MAUIの機能紹介
  • サポートされているプラットフォーム
  • .NET MAUIの開発準備
  • プロジェクトの作成からビルドまでの流れ

8-3 Blazor

  • Blazorとは
  • Blazor WebAssembly
  • Blazor Server
  • サポートされているプラットフォーム
  • Blazorの開発準備
  • プロジェクトの作成からビルドまでの流れ
  • アプリケーションの発行

第9章 Visual Studioによるチーム開発

9-1 チーム開発とは

  • チーム開発と個人開発の違い
  • チーム開発で利用するツール
  • 課題管理システム
  • バージョン管理システム
  • 継続的インテグレーションシステム

9-2 Visual Studioのチーム開発機能

  • チームエクスプローラー
  • Live Share

9-3 Gitによるバージョン管理

  • ソリューションをローカルGitリポジトリに登録
  • 変更したファイルをローカルGitリポジトリにコミット
  • 行単位でコミット(行ステージング)
  • コミットグラフの利用
  • GitHubとの統合

9-4 Team Foundationバージョン管理

  • プロジェクトの作成
  • プロジェクトとワークスペースのマッピング
  • ソリューションをソース管理に追加
  • 変更したファイルのチェックイン

Apendix 用語集

A-1 Visual Studio関係の用語

A-2 プログラミング関係の用語

A-3 IT関係の用語

著者プロフィール

ナルボ

保科尚郁(Takafumi Hoshina)

1980年生まれ。Microsoft系(.NET Framework)開発に携わりたく,2002年10月に転職して株式会社Knowlboへ入社。現在,各 PC,サーバーのセットアップ作業からプロダクトマネージメント業務,データセンター運営管理,Microsoft365管理などなど・・・幅広く業務をこなしつつ,カスタマー対応(提案,開発)までこなす「何でも屋さん」として活動中。

緒方強支(Tsuyoshi Ogata)

1971年生まれ。埼玉県在住。MCP取得(Programing C#)。専門学校卒業後,株式会社Knowlboへ入社。自社パッケージソフトの開発を担当。入社してすぐにマイクロソフト社の開発環境を使い始めたので,Visual C++から数えるとVisual Studio歴は30年。趣味はランニング。プログラミングもランニングも「自由」を感じられるところが好き。

佐々木隆行(Takayuki Sasaki)

小学校6年生の時にFM-8というパソコンでBASICを使用しプログラミングを始める。高校生には自作のハードウェアでファミコンとパソコンを接続し,ファミコンのゲームをクロスプラットフォームで開発。アセンブリがなかったので,MOS 6502のマシン語を直接打ち込んでいた。社会人2年目でとある大企業のトレーニーのC++とMotifの教育をしていた。自宅のFM-TOWNSにはLinuxをインストールしていたが,そのときのVer.0.96とかで毎週のようにバージョンアップしていた。王国民で時々アビサポ。