ASP.NET Core コード ジェネレーター ツール (aspnet-codegenerator)

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 テンプレートは、アプリの CreateEditDeleteDetailsIndex (List) コンポーネントを生成します。

blazor ジェネレーターのオプションを次の表に示します。

オプション 説明
-dbProvider|--databaseProvider 使用するデータベース プロバイダー。 オプションには、sqlserver (既定値)、sqlitecosmos、または 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

詳しくは、「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 (既定値)、sqlitecosmospostgres があります。
-dc|--dataContext 使用するデータベース コンテキスト クラス、または生成するクラスの名前。
-f|--force 既存のファイルを上書きします。
-l|--layout 使用するカスタム レイアウト ページ。
-m|--model 使用するモデル クラス。
-outDir|--relativeFolderPath 相対出力フォルダー パス。 指定しない場合、ファイルはプロジェクト フォルダーに生成されます。
-scripts|--referenceScriptLibraries 生成されたビューでスクリプト ライブラリを参照します。 _ValidationScriptsPartialEditCreate ページに追加します。
-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 (既定値)、sqlitecosmos、または 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 (既定値)、sqlitecosmospostgres があります。
-dc|--dataContext 使用するデータベース コンテキスト クラス、または生成するクラスの名前。
-f|--force 既存のファイルを上書きします。
-l|--layout 使用するカスタム レイアウト ページ。
-m|--model 使用するモデル クラス。
-outDir|--relativeFolderPath 相対出力フォルダー パス。 指定しない場合、ファイルはプロジェクト フォルダーに生成されます。
-scripts|--referenceScriptLibraries 生成されたビューでスクリプト ライブラリを参照します。 _ValidationScriptsPartialEditCreate ページに追加します。
-sqlite|--useSqlite データベース コンテキストで SQL Server ではなく SQLite を使用するかどうかを指定するフラグ。
-udl|--useDefaultLayout ビューの既定のレイアウトを使用します。

razorpage に固有のオプションを次の表に示します。

オプション 説明
-namespace|--namespaceName 生成された PageModel クラスに使用する名前空間の名前。
-npm|--noPageModel Empty テンプレートの PageModel クラスを生成しない。
-partial|--partialView 部分ビューを生成します。 これが指定されている場合、レイアウト オプション -l および -udl は無視されます。

次の例では、Edit テンプレートを使用して、Pages/Movies フォルダーに CustomEditPage.cshtmlCustomEditPage.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 (既定値)、sqlitecosmospostgres があります。
-dc|--dataContext 使用するデータベース コンテキスト クラス、または生成するクラスの名前。
-f|--force 既存のファイルを上書きします。
-l|--layout 使用するカスタム レイアウト ページ。
-m|--model 使用するモデル クラス。
-outDir|--relativeFolderPath 相対出力フォルダー パス。 指定しない場合、ファイルはプロジェクト フォルダーに生成されます。
-scripts|--referenceScriptLibraries 生成されたビューでスクリプト ライブラリを参照します。 _ValidationScriptsPartialEditCreate ページに追加します。
-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