新規プロジェクトの作成
Visual Studio を起動し、新しいプロジェクトを作成します。
メインウィンドウから[ファイル]>[新規作成]>[プロジェクト]を選択します。
![VisualStudioで[ファイル]>[新規作成]>[プロジェクト]を選択する](https://mofuh.com/img/csharp/mouse-stalker/file-new-project.png)
「新しいプロジェクトの作成」の一覧からプロジェクトテンプレートを選びます。
今回は[Windows フォーム アプリ]を選択して[次へ]ボタンを選択します。
![「新しいプロジェクトの作成」画面](https://mofuh.com/img/csharp/mouse-stalker/create-new-project.png)
数が多くて見当たらない場合は、絞り込みを使用すると便利です。検索ボックスの下にある3つのドロップダウンを、次のように変更してください。
- [すべての言語] > [ C# ]
- [すべてのプラットフォーム] > [ Windows ]
- [すべてのプロジェクトの種類] > [デスクトップ]
![「新しいプロジェクトの作成」の絞り込み](https://mofuh.com/img/csharp/mouse-stalker/search-windows-form-app.png)
絞り込みをしても見当たらない場合は、ワークロードを取得する必要があります。
メインウィンドウに戻り、「ツール」>「ツールと機能を取得」を選択します。表示された画面の「ワークロード」タブから「.NET デスクトップ開発」を選択してインストールしてください。
![「ワークロード」タブから「.NET デスクトップ開発」を選択する](https://mofuh.com/img/csharp/mouse-stalker/net-desktop-development.png)
詳細は次の記事で紹介しています。
次に進むと、「新しいプロジェクトを構成します」の画面に切り替わります。変更したい項目がある場合は適宜変更して[次へ]ボタンを選択します。各項目の詳細は以下の通りです。
![「Windows フォーム アプリ」の新しいプロジェクトを作成する](https://mofuh.com/img/csharp/mouse-stalker/create-windows-form-app-project.png)
- プロジェクト名:デフォルトの名前でも問題ありませんが、わかりやすい名前に変更するのがおすすめです。今回はマウスストーカーを作成するので、MouseStalker にしました。
- 場所:プロジェクトファイルの保存場所です。変更の必要がなければ、そのままで大丈夫です。
- ソリューション名:「プロジェクト名」と同じで問題ありません。
次の画面で、フレームワークを選択します。2021年6月時点では[.NET 5.0]が新しいので、これを選択して[作成]ボタンを選択します。
![ターゲット フレームワークで「.NET 5.0」を選択する](https://mofuh.com/img/csharp/mouse-stalker/create-project-target-framework.png)
プロジェクトの作成が開始するので、画面が表示されるまで待ちます。
![「プロジェクトを作成しています...」メッセージ画面](https://mofuh.com/img/csharp/mouse-stalker/creating-project.png)
メインウィンドウに新規プロジェクトが表示されます。これでプロジェクトの作成は完了です。
![VisualStudioのメインウィンドウに新規プロジェクトが表示される](https://mofuh.com/img/csharp/mouse-stalker/blank-windows-form-app-project.png)
プログラムを動かしてみる
現時点では、プロジェクトを作成しただけなのでプログラムの中身は空ですが、プログラムを動かすことができます。
実際に空のプログラムを動かしてみましょう。
ソリューションのビルド
プログラムを動かす前に、ソリューションのビルドをしてエラーがないことを確認してみましょう。
現時点では、プログラムに何も手を加えていないので、プログラムは問題なく動くはずですが、ビルドできないプログラムは実行することができないということを覚えておいてください。
メインウィンドウから[ビルド]>[ソリューションのビルド]を選択してください。
![VisualStudioで[ビルド]>[ソリューションのビルド]を選択する](https://mofuh.com/img/csharp/mouse-stalker/select-build-solution.png)
一見何が起こったかわかりにくいかもしれませんが、メインウィンドウ(たいていの場合はメインウィンドウの下部)に出力ウィンドウが表示され、次のような内容が表示されたと思います。
![VisualStudioの出力ウィンドウ](https://mofuh.com/img/csharp/mouse-stalker/output-window.png)
出力ウィンドウが表示されない場合は、メインウィンドウで[表示]>[出力]を選択してください。
ビルドを開始しました...
1>------ ビルド開始: プロジェクト: MouseStalker, 構成: Debug Any CPU ------
1>MouseStalker -> C:\xxxxx\MouseStalker.dll
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
最後の行に注目してください。「ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ」とあります。
「正常終了」の数字がカウントされていれば、プログラムには問題ありません。
もし「失敗」にカウントがあった場合は、プログラムに何らかの問題があるということになります。その場合はプログラムを実行することができないので、エラーの原因をつきとめ、対処する必要があります。
エラーの原因(バグといいます)を探す方法には様々ありますが、文法などの初歩的なミスはエラー一覧ウィンドウに表示されます。プログラムを修正した場合は、エラー一覧ウィンドウを小まめに確認して対処するようにしましょう。
![VisualStudioのエラー一覧ウィンドウ](https://mofuh.com/img/csharp/mouse-stalker/error-list-window.png)
エラー一覧ウィンドウは、メインウィンドウの[表示]>[エラー一覧]を選択して表示できます。エラーが表示されている場合は、ダブルクリックするとエラーのある箇所が表示されます。
デバッグの開始、デバッグの停止
プログラムのビルドができることを確認したので、プログラムを実行してみましょう。
メインウィンドウから[デバッグ]>[デバッグの開始]を選択してください。
![VisualStudioで[デバッグ]>[デバッグの開始]を選択する](https://mofuh.com/img/csharp/mouse-stalker/select-start-debugging.png)
別の方法として、メインウィンドウの開始ボタンを選択しても同様の結果になります。
![VisualStudioメインウィンドウの開始ボタン](https://mofuh.com/img/csharp/mouse-stalker/select-start-button.png)
デバッグが開始すると、メインウィンドウに「診断ツール」などのいろいろなウィンドウが表示されます。
空のフォーム画面が表示されたら、ひとまずOKです。このフォーム画面が現在のプログラムを実行したときの結果です。今はまだ殺風景な画面ですが、プログラムを修正することで、たとえば好きな場所にボタンを設置したり、何かの動きを加えたりすることができます。
![デバッグが開始すると、空のフォーム画面が起動する](https://mofuh.com/img/csharp/mouse-stalker/launch-windows-form-app.png)
デバッグを終了する場合は、メインウィンドウから[デバッグ]>[デバッグの停止]を選択します。空のフォーム画面や「診断ツール」などのウィンドウが閉じ、デバッグを開始する前の状態に画面が戻ります。
![VisualStudioで[デバッグ]>[デバッグの停止]を選択する](https://mofuh.com/img/csharp/mouse-stalker/select-stop-debugging.png)
別の方法として、メインウィンドウの停止ボタンを選択しても同様の結果になります。
![VisualStudioメインウィンドウの停止ボタン](https://mofuh.com/img/csharp/mouse-stalker/select-stop-button.png)
【番外】エラー時お役立ち
プログラムは、様々な要素が影響して動くため、エラーはつきものです。
プログラムがエラーでうまく動かないときに試しておきたいこととして、ソリューションのリビルドとソリューションのクリーンがあります。
ソリューションのリビルド
プログラムをすべてビルドし直す作業のことを、ソリューションのリビルドといいます。
先ほど実践したソリューションのビルドは、最後にビルドしたときから変更のあったプロジェクトのみをビルドしています。試しに、ビルドを行ったあとにもう1度ソリューションのビルドをすると、出力ウィンドウの「更新不要」に数字がカウントされているはずです。このように、ソリューションのビルドでは、変更されていないソリューションは「更新不要」とされ、ビルドされません。
エラー時は、なかなか原因がみつからないこともあります。たとえプログラムに変更がなくとも、1度すべてのソリューションをビルドし直してみると、全体の結果が変わることがあります。
ソリューションのリビルドを行う場合は、メインウィンドウから[ビルド]>[ソリューションのリビルド]を選択してください。
![VisualStudioで[ビルド]>[ソリューションのリビルド]を選択する](https://mofuh.com/img/csharp/mouse-stalker/select-rebuild-solution.png)
ソリューションのクリーン
ビルドした結果をすべて削除することを、ソリューションのクリーンといいます。
プログラムをビルドすると、プロジェクトフォルダには「bin」「obj」といったフォルダが作成されます。そして、ビルドするたびに必要なファイルが作り直されます。
ビルドを繰り返すうちに、不要なファイルが削除されずにそのまま残り、エラーの原因になっていることもあるかもしれません。ソリューションのクリーンは一度ファイルをすべて削除するので、原因不明のエラーが解決する可能性があります。
ソリューションのクリーンを行う場合は、メインウィンドウから[ビルド]>[ソリューションのクリーン]を選択してください。ソリューションのクリーンを行った後はプログラムのビルドをし直して、必要なファイルを作成してください。
![VisualStudioで「ビルド」>「ソリューションのクリーン」を選択する](https://mofuh.com/img/csharp/mouse-stalker/select-clean-solution.png)
きりの良いところで、適宜、プロジェクトを保存するようにしましょう。