dotnet new mvc -n (プロジェクト名)で作られたもの 3日目
はじめに
「ASP.NET Core」技術でMVCのテンプレートを展開した際に、その内容がわかることを目的としています。
Gitに登録する前にプログラムの理解
よし、「Hello World」を作ったぞ!と意気込んでみたいところだけど、コード書いてないよね。
なんで、何をしたかの振り返りと、自動生成で作られたソースの中身を確認していこう。
「dotnet new mvc -n」のコマンドを調べてみようと思う
dotnet new mvc -n
コマンドについて
dotnet new mvc -n
コマンドを実行すると、ASP.NET Core MVC プロジェクトのテンプレートを使って新しいプロジェクトを作成します。このコマンドの各部分について説明します。
コマンドの構成
-
dotnet
dotnet
コマンドは、.NET SDK のコマンドラインインターフェース (CLI) を使用して、プロジェクトの作成やビルド、実行、パッケージ管理などを行うための基本コマンドです。ASP.NET Core を含む .NET の様々な作業を、コマンドラインで行う際の入り口となります。 -
new
new
コマンドは、プロジェクトやファイルを作成するためのサブコマンドです。このコマンドを使うことで、テンプレートに基づいた新しいプロジェクトやファイルを作成できます。ASP.NET Core MVC のプロジェクト以外にも、コンソールアプリケーションやクラスライブラリなど、他のテンプレートも作成可能です。 -
mvc
mvc
は、新しいプロジェクトのテンプレートとして ASP.NET Core MVC を指定するためのオプションです。このテンプレートを使うことで、モデル (Model)・ビュー (View)・コントローラー (Controller) の構造を持つ ASP.NET Core MVC アプリケーションが生成されます。ASP.NET Core の Web アプリケーションを作成するための、最も一般的なテンプレートの一つです。 -
-n
-n
は、「名前」を指定するオプションです。このオプションの後に、作成するプロジェクトの名前を入力する必要があります。このオプションを使用することで、プロジェクトフォルダやプロジェクトファイル (.csproj
ファイル) が指定した名前で作成されます。たとえば、dotnet new mvc -n MyMvcApp
と入力すると、MyMvcApp
という名前のプロジェクトが作成されます。
mvcというテンプレートを展開して、プロジェクト名だけ引数で入れて作った、そんな感じみたい。
mvcというテンプレートの中身を見てみよう
D:.
│ appsettings.Development.json # 開発環境用の設定ファイル
│ (データベース接続文字列などの環境設定を記述)
│ appsettings.json # 共通のアプリケーション設定ファイル
│ (環境に依存しない設定を記述)
│ HelloWorldApp.csproj # プロジェクトファイル
│ (依存関係、ビルド設定などを記載)
│ Program.cs # アプリケーションのエントリーポイント
│ (ASP.NET Coreアプリの設定や初期化)
│
├─bin # ビルド後にコンパイルされたバイナリ
│ (ファイルが配置されるディレクトリ)
│
├─Controllers # コントローラークラスが置かれるディレクトリ
│ HomeController.cs # HomeController(デフォルトのコントローラー)
│ (IndexやPrivacyなどのアクション)
│
├─Models # モデルクラスが置かれるディレクトリ
│ ErrorViewModel.cs # エラーメッセージを保持するためのモデルクラス
│
├─obj # ビルドプロセス中に生成される一時ファイル
│ (.NETの中間コードなどが配置される)
│
├─Properties # プロジェクトのプロパティや設定ファイル
│ launchSettings.json # ローカル開発環境での起動設定ファイル
│
├─Views # ビュー(UI)ファイルが置かれるディレクトリ
│ │ _ViewImports.cshtml # 共通で使用されるディレクティブ
│ (View内で使うクラスやタグヘルパーのインポート設定)
│ │ _ViewStart.cshtml # 各Viewファイルのレンダリング前に
│ 共通で実行される設定
│ │
│ ├─Home # HomeControllerに対応するビュー
│ │ Index.cshtml # HomeコントローラーのIndexアクション
│ (ホームページの表示)
│ │ Privacy.cshtml # プライバシーポリシーページの表示
│ │
│ └─Shared # 共有レイアウトや部分ビューの配置
│ Error.cshtml # エラーページの表示
│ _Layout.cshtml # 全体のレイアウト(ヘッダー、フッターなど)
│ _Layout.cshtml.css # _Layout.cshtmlに関連付けられたCSSファイル
│ _ValidationScriptsPartial.cshtml
│ # フォームバリデーション用スクリプトの部分ビュー
│
└─wwwroot # 静的ファイルが配置されるディレクトリ
│ favicon.ico # ブラウザのアイコン(タブで表示される)
│
├─css # CSSファイルが配置されるディレクトリ
│ site.css # サイト全体で使用するスタイルシート
│
├─js # JavaScriptファイルが配置されるディレクトリ
│ site.js # サイト全体で使用するJavaScriptファイル
不要なのは削除したけど、主要なものは上記のようですと。。
こちらをベースに手直ししてみて理解を深めてみたいと思う。
準備は整ったんで、次回はGitだ!
Discussion