dotnet aspnet-codegenerator

作者:Rick Anderson

dotnet aspnet-codegenerator - 執行 ASP.NET Core Scaffolding 引擎。 從命令列進行 Scaffolding 時才需要 dotnet aspnet-codegenerator,在 Visual Studio 中不需要進行 Scaffolding。

安裝和更新 aspnet-codegenerator

安裝 .NET SDK

dotnet aspnet-codegenerator 是必須安裝的全域工具。 下列命令會安裝 dotnet aspnet-codegenerator 工具的最新穩定版本:

dotnet tool install -g dotnet-aspnet-codegenerator

注意

根據預設,要安裝的 .NET 二進位檔架構代表目前執行的 OS 架構。 若要指定不同的 OS 架構,請參閱 dotnet tool install, --arch option。 如需詳細資訊,請參閱 GitHub 問題 dotnet/AspNetCore.Docs #29262

下列命令會將 dotnet aspnet-codegenerator 更新到可從已安裝之 .NET Core SDK 中取得的最新穩定版本:

dotnet tool update -g dotnet-aspnet-codegenerator

卸載 aspnet-codegenerator

可能需要卸載 aspnet-codegenerator 才能解決問題。 例如,如果您已安裝 aspnet-codegenerator 的預覽版本,請先卸載,再安裝發行的版本。

下列命令會卸載 dotnet aspnet-codegenerator 工具,並安裝最新的穩定版本:

dotnet tool uninstall -g dotnet-aspnet-codegenerator
dotnet tool install -g dotnet-aspnet-codegenerator

概要

dotnet aspnet-codegenerator [arguments] [-p|--project] [-n|--nuget-package-dir] [-c|--configuration] [-tfm|--target-framework] [-b|--build-base-path] [--no-build] 
dotnet aspnet-codegenerator [-h|--help]

描述

dotnet aspnet-codegenerator 全域命令會執行 ASP.NET Core 程式碼產生器與 Scaffolding 引擎。

引數

generator

要執行的程式碼產生器。 可用產生器如下︰

Generator 作業
area 架起區域
控制器 架起控制器
身分 Scaffold (產生) Identity
razorpage Scaffold (產生) Razor Pages
檢視 架起檢視

選項。

-n|--nuget-package-dir

指定 NuGet 套件目錄。

-c|--configuration {Debug|Release}

定義組建組態。 預設值是 Debug

-tfm|--target-framework

要使用的目標 Framework。 例如: net46

-b|--build-base-path

建置基底路徑。

-h|--help

印出命令的簡短說明。

--no-build

不會在執行前建置專案。 選項也會隱含設定 --no-restore 旗標。

-p|--project <PATH>

指定要執行的專案檔路徑 (資料夾名稱或完整路徑)。 如果未指定,則會預設為目前目錄。

產生器選項

以下各節詳細說明支援之產生器的可用選項:

  • 面積
  • 控制器
  • Identity
  • Razorpage
  • 檢視

區域選項

此工具旨在用於搭配控制器與檢視使用 ASP.NET Core Web 專案。 這不適用於 Razor Pages 應用程式。

使用方式:dotnet aspnet-codegenerator area AreaNameToGenerate

上述命令會產生下列資料夾:

  • 區域
    • AreaNameToGenerate
      • 控制器
      • Data
      • 模型
      • 檢視

控制器選項

下列表出 aspnet-codegeneratorrazorpagecontrollerview 的選項:

選項 描述
--model 或 -m 要使用的模型類別。
--dataContext 或 -dc 要使用的 DbContext 類別,或要產生之類別的名稱。
--bootstrapVersion 或 -b 指定啟動程序版本。 有效值為 34。 預設值為 4。 如果需要但不存在,則會建立 wwwroot 目錄,其中包含指定版本的啟動程序檔案。
--referenceScriptLibraries 或 -scripts 所產生檢視中的參考指令碼程式庫。 將 _ValidationScriptsPartial 新增至 [編輯] 和 [建立] 頁面。
--layout 或 -l 要使用的自訂 [配置] 頁面。
--useDefaultLayout 或 -udl 針對檢視使用預設的配置。
--force 或 -f 覆寫現有檔案。
--relativeFolderPath 或 -outDir 從需要產生檔案的專案指定相對輸出資料夾路徑,如果未指定,則會在專案資料夾中產生檔案
--useSqlite 或 -sqlite 指定 DbContext 是否應該使用 SQLite 而非 SQL Server 的旗標。

下表列出 aspnet-codegenerator controller 的專用選項:

選項 描述
--controllerName 或 -name 控制器的名稱。
--useAsyncActions 或 -async 產生非同步控制器動作。
--noViews 或 -nv 產生任何檢視。
--restWithNoViews 或 -api 使用 REST 樣式 API 產生控制器。 假設使用 noViews 且會忽略所有檢視相關選項。
--readWriteActions 或 -actions 在不使用模型的情況下使用讀取/寫入動作產生控制器。

使用 -h 參數取得 aspnet-codegenerator controller 命令的說明:

dotnet aspnet-codegenerator controller -h

請參閱架起電影模型以取得 dotnet aspnet-codegenerator controller 的範例。

Razorpage

您可以透過指定新頁面名稱與要使用的範本來個別架起 Razor Pages。 支援的範本為:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List

例如,下列命令會使用編輯範本來產生 MyEdit.cshtmlMyEdit.cshtml.cs

dotnet aspnet-codegenerator razorpage MyEdit Edit -m Movie -dc RazorPagesMovieContext -outDir Pages/Movies

一般而言,不會指定範本與產生的檔案名稱,而且會建立下列範本:

  • Create
  • Edit
  • Delete
  • Details
  • List

下列表出 aspnet-codegeneratorrazorpagecontrollerview 的選項:

選項 描述
--model 或 -m 要使用的模型類別。
--dataContext 或 -dc 要使用的 DbContext 類別,或要產生之類別的名稱。
--bootstrapVersion 或 -b 指定啟動程序版本。 有效值為 34。 預設值為 4。 如果需要但不存在,則會建立 wwwroot 目錄,其中包含指定版本的啟動程序檔案。
--referenceScriptLibraries 或 -scripts 所產生檢視中的參考指令碼程式庫。 將 _ValidationScriptsPartial 新增至 [編輯] 和 [建立] 頁面。
--layout 或 -l 要使用的自訂 [配置] 頁面。
--useDefaultLayout 或 -udl 針對檢視使用預設的配置。
--force 或 -f 覆寫現有檔案。
--relativeFolderPath 或 -outDir 從需要產生檔案的專案指定相對輸出資料夾路徑,如果未指定,則會在專案資料夾中產生檔案
--useSqlite 或 -sqlite 指定 DbContext 是否應該使用 SQLite 而非 SQL Server 的旗標。

下表列出 aspnet-codegenerator razorpage 的專用選項:

選項 描述
--namespaceName 或 -namespace 要用於產生之 PageModel 的命名空間名稱
--partialView 或 -partial 產生部分檢視。 若指定此選項,會忽略版面配置選項 -l 與 -udl。
--noPageModel 或 -npm 切換為不產生空白範本的 PageModel 類別

使用 -h 參數取得 aspnet-codegenerator razorpage 命令的說明:

dotnet aspnet-codegenerator razorpage -h

請參閱架起電影模型以取得 dotnet aspnet-codegenerator razorpage 的範例。

檢視

您可以透過指定檢視名稱與要使用的範本來個別架設檢視。 支援的範本為:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List

例如,下列命令會使用編輯範本來產生 MyEdit.cshtml

dotnet aspnet-codegenerator view MyEdit Edit -m Movie -dc MovieContext -outDir Views/Movies

下列表出 aspnet-codegeneratorrazorpagecontrollerview 的選項:

選項 描述
--model 或 -m 要使用的模型類別。
--dataContext 或 -dc 要使用的 DbContext 類別,或要產生之類別的名稱。
--bootstrapVersion 或 -b 指定啟動程序版本。 有效值為 34。 預設值為 4。 如果需要但不存在,則會建立 wwwroot 目錄,其中包含指定版本的啟動程序檔案。
--referenceScriptLibraries 或 -scripts 所產生檢視中的參考指令碼程式庫。 將 _ValidationScriptsPartial 新增至 [編輯] 和 [建立] 頁面。
--layout 或 -l 要使用的自訂 [配置] 頁面。
--useDefaultLayout 或 -udl 針對檢視使用預設的配置。
--force 或 -f 覆寫現有檔案。
--relativeFolderPath 或 -outDir 從需要產生檔案的專案指定相對輸出資料夾路徑,如果未指定,則會在專案資料夾中產生檔案
--useSqlite 或 -sqlite 指定 DbContext 是否應該使用 SQLite 而非 SQL Server 的旗標。

下表列出 aspnet-codegenerator view 的專用選項:

選項 描述
--controllerNamespace 或 -namespace 指定要用於所產生控制器的命名空間名稱
--partialView 或 -partial 產生部分檢視,如果指定此項,則其他配置選項 (-l 和 -udl) 會遭忽略

使用 -h 參數取得 aspnet-codegenerator view 命令的說明:

dotnet aspnet-codegenerator view -h

Identity

請參閱 Scaffold Identity