プロジェクトを作成して実行してみる
ここからは実際にアプリケーションを作成し、生成されるファイルの内容を見ながら具体的なところに踏み込んでいきましょう。まずはプロジェクトを作成します。
本連載では、プロジェクト群を格納するフォルダをcz_aspdotnetとしています。作成していない方は、ここで作成しておいてください。引き続き、このフォルダを起点に作業します。ここで、Visual Studio Code(VSCode)を起動しておきます。コマンドの操作は、基本的にVSCodeのターミナル上で行っていきます。
プロジェクトの作成
まず、cz_aspdotnetフォルダに移動します。そして、以下のコマンドでプロジェクトを作成します。
% dotnet new mvc -o MvcSample テンプレート "ASP.NET Core Web App (Model-View-Controller)" が正常に作成されました。 …略… 正常に復元されました。
ここで使われているdotnetコマンドについては、第2回で紹介していますのでそちらを参照してください。今回は、プロジェクトのテンプレートにmvcを指定しました(Razor Pagesではwebapp)。dotnet --listコマンドで表示できるテンプレートの一覧を見ると、「mvc」は「ASP.NET Core Web App (Model-View-Controller)」に相当し、言語はC#とF#で(既定はC#)、タグに「Web/MVC Blazor WebAssembly App」が指定されていることがわかります。
ビルドと実行の準備
これで、MvcSampleフォルダに新しいプロジェクトが作成されますので、VSCodeのコマンドであるcodeで、このフォルダに移動しておきます。
% code -r MvcSample
[NOTE]VSCodeの設定
macOSでcodeコマンドを有効化する方法、C#の実行環境のインストール、ビルドとデバッグに必要なアセットのプロジェクトへの追加、localhost上での実行のための開発用証明書を受け入れる設定については、本連載の第2回を参照してください。
プロジェクトの実行
作成したプロジェクトは、すぐに[Ctrl]+[F5]キーで実行できます(デバッガなしの実行)。すると、デフォルトブラウザが起動しトップページが表示されます(図2)。
何もないページですが、ナビゲーション上の「Privacy」リンクをクリックすると、Privacyページに移動します。プロジェクト作成直後は、トップページのHome、PrivacyページのPrivacy、そしてエラー画面のErrorの3つのページが作成されています。
プロジェクトの構成
ここで、プロジェクトがどのような構成になっているかVSCodeのエクスプローラーで見てみましょう(図3)。
プロジェクトには、Controllersフォルダ、Modelsフォルダ、Viewsフォルダ、wwwrootフォルダなどがあります。Razor Pagesでは、Pagesフォルダにページモデルやビューのファイルが集約されていましたが、MVCではControllers、Models、Viewsの3つのフォルダに分かれています。ページ指向のRazor Pagesに対し、コンポーネントごとの役割分担が明確なMVCでは、コントローラ、モデル、ビューのファイルをそれぞれのフォルダに分けて配置します。
なお、wwwrootフォルダやその他のファイルについてはRazor Pagesと共通ですので、第2回を参照してください。
