ASP.NET Core コード ジェネレーター ツール (aspnet-codegenerator
)
Note
これは、この記事の最新バージョンではありません。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
警告
このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、 .NET および .NET Core サポート ポリシーを参照してください。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
重要
この情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft はここに示されている情報について、明示か黙示かを問わず、一切保証しません。
現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
dotnet aspnet-codegenerator
コマンドは、ASP.NET Core のスキャフォールディング エンジンを実行します。 コマンド ラインから、または Visual Studio Code を使用するときにスキャフォールディングする場合、dotnet aspnet-codegenerator
コマンドを実行する必要があります。 Visual Studio でスキャフォールディングを使用する場合、このコマンドは必要ありません。既定でスキャフォールディング エンジンが含まれています。
コード ジェネレーター ツールをインストールして更新する
.NET SDK をインストールします。
dotnet aspnet-codegenerator
はグローバル ツールであり、インストールする必要があります。 次のコマンドは、ASP.NET Core コード ジェネレーター ツールの最新の安定バージョンをインストールします。
dotnet tool install -g dotnet-aspnet-codegenerator
Note
既定では、インストールする .NET バイナリのアーキテクチャは、現在実行中の OS アーキテクチャを表します。 別の OS アーキテクチャを指定するには、「dotnet tool install, --arch option」を参照してください。 詳細については、GitHub イシュー dotnet/AspNetCore.Docs #29262 を参照してください。
ツールが既にインストールされている場合、次のコマンドは、インストールされている .NET Core SDK から入手可能な最新の安定したバージョンにツールを更新します。
dotnet tool update -g dotnet-aspnet-codegenerator
コード ジェネレーター ツールをアンインストールする
問題を解決するには、ASP.NET Core コード ジェネレーター ツールをアンインストールすることが必要な場合があります。 たとえば、ツールのプレビュー バージョンをインストールした場合は、リリース バージョンをインストールする前にそれをアンインストールします。
次のコマンドは、ASP.NET Core コード ジェネレーター ツールをアンインストールし、最新の安定バージョンをインストールします。
dotnet tool uninstall -g dotnet-aspnet-codegenerator
dotnet tool install -g dotnet-aspnet-codegenerator
構文
dotnet aspnet-codegenerator [arguments] [-b|--build-base-path] [-c|--configuration] [-n|--nuget-package-dir] [--no-build] [-p|--project] [-tfm|--target-framework]
dotnet aspnet-codegenerator [-h|--help]
説明
dotnet aspnet-codegenerator
グローバル コマンドを使うと、ASP.NET Core のコード ジェネレーターとスキャフォールディング エンジンが実行されます。
引数
generator
実行するコード ジェネレーター。 使用可能なジェネレーターを次の表に示します。
Generator | 操作 |
---|---|
area |
区分のスキャフォールディング。 |
blazor |
Blazor の作成、読み取り、更新、削除、一覧のページのスキャフォールディング。 |
blazor-identity |
BlazorIdentity ファイルの生成。 |
controller |
コントローラーのスキャフォールディング。 |
identity |
Identity のスキャフォールディング。 |
minimalapi |
モデルとオプションのデータベース コンテキストを指定して、(CRUD API エンドポイントを含む) エンドポイント ファイルを生成します。 |
razorpage |
Razor ページのスキャフォールディング。 |
view |
ビューのスキャフォールディング。 |
Generator | 操作 |
---|---|
area |
区分のスキャフォールディング。 |
controller |
コントローラーのスキャフォールディング。 |
identity |
Identity のスキャフォールディング。 |
minimalapi |
モデルとオプションのデータベース コンテキストを指定して、(CRUD API エンドポイントを含む) エンドポイント ファイルを生成します。 |
razorpage |
Razor ページのスキャフォールディング。 |
view |
ビューのスキャフォールディング。 |
[オプション]
-b|--build-base-path
ビルドのベース パスです。
-c|--configuration {Debug|Release}
ビルド構成を定義します。 既定値は Debug
です。
-h|--help
コマンドの短いヘルプを印刷します。
-n|--nuget-package-dir
NuGet パッケージのディレクトリを指定します。
--no-build
実行前にプロジェクトをビルドしません。 --no-build
を渡すと、暗黙的に --no-restore
フラグも設定されます。
-p|--project <PATH>
実行するプロジェクト ファイルのパスを指定します (フォルダー名または完全なパス)。 指定しない場合、ツールは既定で現在のディレクトリを使います。
-tfm|--target-framework
使用するターゲット フレームワーク。
ジェネレーターのオプション
以下のセクションでは、次のサポートされているジェネレーターで使用できるオプションについて詳しく説明します。
Area のオプション
使用法: dotnet aspnet-codegenerator area {AREA NAME}
{AREA NAME}
プレースホルダーは、生成する区分の名前です。
上のコマンドを実行すると、次のフォルダーが生成されます。
Areas
{AREA NAME}
Controllers
Data
Models
Views
ヘルプを表示するには、-h|--help
オプションを使用します。
dotnet aspnet-codegenerator area -h
Blazor オプション
使用するテンプレートの名前を指定することで、Razor コンポーネントを Blazor アプリ用に個別にスキャフォールディングできます。 サポートされているテンプレートは次のとおりです。
Empty
Create
Edit
Delete
Details
List
CRUD
: CRUD は、Create、Read、Update、Delete の頭字語です。CRUD
テンプレートは、アプリのCreate
、Edit
、Delete
、Details
、Index
(List
) コンポーネントを生成します。
blazor
ジェネレーターのオプションを次の表に示します。
オプション | 説明 |
---|---|
-dbProvider|--databaseProvider |
使用するデータベース プロバイダー。 オプションには、sqlserver (既定値)、sqlite 、cosmos 、または postgres があります。 |
-dc|--dataContext |
使用するデータベース コンテキスト クラス。 |
-m|--model |
使用するモデル クラス。 |
-ns|--namespaceName |
生成されたエンドポイント ファイルに対して使用する名前空間の名前を指定します。 |
--relativeFolderPath|-outDir |
相対出力フォルダー パス。 指定しない場合、ファイルはプロジェクト フォルダーに生成されます。 |
次のような例です。
Edit
テンプレートを使用して、アプリのComponents/Pages/MoviePages
フォルダーにEdit
コンポーネント (Edit.razor
) を生成します。MoviePages
フォルダーが存在しない場合、ツールはフォルダーを自動的に作成します。- SQLite データベース プロバイダーを使用します。
- データベース コンテキストに
BlazorWebAppMovies.Data.BlazorWebAppMoviesContext
を使用します。 Movie
モデルを使用します。
dotnet aspnet-codegenerator blazor Edit -dbProvider sqlite -dc BlazorWebAppMovies.Data.BlazorWebAppMoviesContext -m Movie -outDir Components/Pages
ヘルプを表示するには、-h|--help
オプションを使用します。
dotnet aspnet-codegenerator blazor -h
blazor
ジェネレーターを使用する例については、「build a Blazor movie database app (Overview)を参照してください。
詳しくは、「ASP.NET Core Blazor QuickGrid コンポーネント」をご覧ください。
BlazorIdentity オプション
blazor-identity
ジェネレーターを使用して、IdentityRazor コンポーネントを Blazor アプリにスキャフォールディングします。
blazor-identity
テンプレートのオプションを次の表に示します。
オプション | 説明 |
---|---|
-dbProvider|--databaseProvider |
使用するデータベース プロバイダー。 オプションには、sqlserver (既定値) と sqlite があります。 |
-dc|--dataContext |
使用するデータベース コンテキスト クラス。 |
-f|--force |
既存のファイルを上書きするには、このオプションを使用します。 |
-fi|--files |
スキャフォールディングするセミコロンで区切られたファイルのリスト。 使用できるオプションを確認するには、-lf|--listFiles オプションを使用します。 |
-lf|--listFiles |
-fi|--files オプションを使用してスキャフォールディングできるファイルを一覧表示します。 |
-rn|--rootNamespace |
Identity コードの生成に使用するルート名前空間。 |
-u|--userClass |
生成するユーザー クラスの名前。 |
ヘルプを表示するには、-h|--help
オプションを使用します。
dotnet aspnet-codegenerator blazor-identity -h
Controller のオプション
一般的なオプションを次の表に示します。
オプション | 説明 |
---|---|
-b|--bootstrapVersion |
ブートストラップのバージョンを指定し、フォルダーが存在しない場合はブートストラップ アセットの wwwroot フォルダーを作成します。 |
-dbProvider|--databaseProvider |
使用するデータベース プロバイダー。 オプションには、sqlserver (既定値)、sqlite 、cosmos 、postgres があります。 |
-dc|--dataContext |
使用するデータベース コンテキスト クラス、または生成するクラスの名前。 |
-f|--force |
既存のファイルを上書きします。 |
-l|--layout |
使用するカスタム レイアウト ページ。 |
-m|--model |
使用するモデル クラス。 |
-outDir|--relativeFolderPath |
相対出力フォルダー パス。 指定しない場合、ファイルはプロジェクト フォルダーに生成されます。 |
-scripts|--referenceScriptLibraries |
生成されたビューでスクリプト ライブラリを参照します。 _ValidationScriptsPartial を Edit と Create ページに追加します。 |
-sqlite|--useSqlite |
データベース コンテキストで SQL Server ではなく SQLite を使用するかどうかを指定するフラグ。 |
-udl|--useDefaultLayout |
ビューの既定のレイアウトを使用します。 |
controller
に固有のオプションを次の表に示します。
オプション | 説明 |
---|---|
-actions|--readWriteActions |
モデルなしで読み取り/書き込みアクションを備えたコントローラーを生成します。 |
-api|--restWithNoViews |
REST スタイルの API でコントローラーを生成します。 noViews を前提とし、ビュー関連のオプションはすべて無視されます。 |
-async|--useAsyncActions |
非同期コントローラー アクションを生成します。 |
-name|--controllerName |
コントローラーの名前です。 |
-namespace|--controllerNamespace |
生成されたコントローラーに対して使用する名前空間の名前を指定します。 |
-nv|--noViews |
ビューを生成しません。 |
ヘルプを表示するには、-h|--help
オプションを使用します。
dotnet aspnet-codegenerator controller -h
controller
ジェネレーターを使用する例については、「パート 4、ASP.NET Core MVC アプリにモデルを追加する」を参照してください。
Identity オプション
詳細については、「ASP.NET Core プロジェクトの Identity のスキャフォールディング」を参照してください。
Minimal API のオプション
minimalapi
テンプレートを使用して Minimal API バックエンドをスキャフォールディングします。
minimalapi
のオプションを次の表に示します。
オプション | 説明 |
---|---|
-dbProvider|--databaseProvider |
使用するデータベース プロバイダー。 オプションには、sqlserver (既定値)、sqlite 、cosmos 、または postgres があります。 |
-dc|--dataContext |
使用するデータベース コンテキスト クラス。 |
-e|--endpoints |
使用するエンドポイント クラス (ファイル名ではありません)。 |
-m|--model |
使用するモデル クラス。 |
-namespace|--endpointsNamespace |
生成されたエンドポイント ファイルに対して使用する名前空間の名前を指定します。 |
-o|--open |
OpenAPI を有効にするには、このオプションを使用します。 |
-outDir|--relativeFolderPath |
相対出力フォルダー パス。 指定しない場合、ファイルはプロジェクト フォルダーに生成されます。 |
-sqlite|--useSqlite |
データベース コンテキストで SQL Server ではなく SQLite を使用するかどうかを指定するフラグ。 |
次のような例です。
ApplicationDbContext
データベース コンテキスト クラスとBackEnd.Models.Speaker
モデルを使用して、データベース操作にマップする API エンドポイントを持つSpeakersEndpoints
という名前のエンドポイント クラスを生成します。app.MapSpeakerEndpoints();
をProgram
ファイル (Program.cs
) に追加して、エンドポイント クラスを登録します。
dotnet aspnet-codegenerator minimalapi -dc ApplicationDbContext -e SpeakerEndpoints -m BackEnd.Models.Speaker -o
ヘルプを表示するには、-h|--help
オプションを使用します。
dotnet aspnet-codegenerator minimalapi -h
Razor ページのオプション
新しいページの名前と使用するテンプレートを指定すれば、Razor Pages を個別にスキャフォールディングできます。 サポートされているテンプレートは次のとおりです。
Empty
Create
Edit
Delete
Details
List
通常、テンプレートと生成されるファイル名は指定されず、次のテンプレートが作成されます。
Create
Edit
Delete
Details
List
一般的なオプションを次の表に示します。
オプション | 説明 |
---|---|
-b|--bootstrapVersion |
ブートストラップのバージョンを指定し、フォルダーが存在しない場合はブートストラップ アセットの wwwroot フォルダーを作成します。 |
-dbProvider|--databaseProvider |
使用するデータベース プロバイダー。 オプションには、sqlserver (既定値)、sqlite 、cosmos 、postgres があります。 |
-dc|--dataContext |
使用するデータベース コンテキスト クラス、または生成するクラスの名前。 |
-f|--force |
既存のファイルを上書きします。 |
-l|--layout |
使用するカスタム レイアウト ページ。 |
-m|--model |
使用するモデル クラス。 |
-outDir|--relativeFolderPath |
相対出力フォルダー パス。 指定しない場合、ファイルはプロジェクト フォルダーに生成されます。 |
-scripts|--referenceScriptLibraries |
生成されたビューでスクリプト ライブラリを参照します。 _ValidationScriptsPartial を Edit と Create ページに追加します。 |
-sqlite|--useSqlite |
データベース コンテキストで SQL Server ではなく SQLite を使用するかどうかを指定するフラグ。 |
-udl|--useDefaultLayout |
ビューの既定のレイアウトを使用します。 |
razorpage
に固有のオプションを次の表に示します。
オプション | 説明 |
---|---|
-namespace|--namespaceName |
生成された PageModel クラスに使用する名前空間の名前。 |
-npm|--noPageModel |
Empty テンプレートの PageModel クラスを生成しない。 |
-partial|--partialView |
部分ビューを生成します。 これが指定されている場合、レイアウト オプション -l および -udl は無視されます。 |
次の例では、Edit
テンプレートを使用して、Pages/Movies
フォルダーに CustomEditPage.cshtml
と CustomEditPage.cshtml.cs
を生成します。
dotnet aspnet-codegenerator razorpage CustomEditPage Edit -dc RazorPagesMovieContext -m Movie -outDir Pages/Movies
ヘルプを表示するには、-h|--help
オプションを使用します。
dotnet aspnet-codegenerator razorpage -h
razorpage
ジェネレーターを使用する例については、パート 2、モデルの追加に関するページを参照してください。
オプションの表示
ビューとテンプレートの名前を指定することで、ビューを個別にスキャフォールディングできます。 サポートされているテンプレートは次のとおりです。
Empty
Create
Edit
Delete
Details
List
一般的なオプションを次の表に示します。
オプション | 説明 |
---|---|
-b|--bootstrapVersion |
ブートストラップのバージョンを指定し、フォルダーが存在しない場合はブートストラップ アセットの wwwroot フォルダーを作成します。 |
-dbProvider|--databaseProvider |
使用するデータベース プロバイダー。 オプションには、sqlserver (既定値)、sqlite 、cosmos 、postgres があります。 |
-dc|--dataContext |
使用するデータベース コンテキスト クラス、または生成するクラスの名前。 |
-f|--force |
既存のファイルを上書きします。 |
-l|--layout |
使用するカスタム レイアウト ページ。 |
-m|--model |
使用するモデル クラス。 |
-outDir|--relativeFolderPath |
相対出力フォルダー パス。 指定しない場合、ファイルはプロジェクト フォルダーに生成されます。 |
-scripts|--referenceScriptLibraries |
生成されたビューでスクリプト ライブラリを参照します。 _ValidationScriptsPartial を Edit と Create ページに追加します。 |
-sqlite|--useSqlite |
データベース コンテキストで SQL Server ではなく SQLite を使用するかどうかを指定するフラグ。 |
-udl|--useDefaultLayout |
ビューの既定のレイアウトを使用します。 |
view
に固有のオプションを次の表に示します。
オプション | 説明 |
---|---|
-namespace|--controllerNamespace |
生成されたコントローラーに対して使用する名前空間の名前を指定します。 |
-partial|--partialView |
部分ビューを生成します。 これが指定されている場合、他のレイアウト オプション (-l および -udl ) は無視されます。 |
次の例では、Edit
テンプレートを使用して、Views/Movies
フォルダーに CustomEditView.cshtml
を生成します。
dotnet aspnet-codegenerator view CustomEditView Edit -dc MovieContext -m Movie -outDir Views/Movies
ヘルプを表示するには、-h|--help
オプションを使用します。
dotnet aspnet-codegenerator view -h
ASP.NET Core