dotnet aspnet-codegenerator

作者:Rick Anderson

dotnet aspnet-codegenerator - 运行 ASP.NET Core 基架引擎。 使用 dotnet aspnet-codegenerator 只需要从命令行搭建基架,不必使用 Visual Studio 搭建基架。

安装和更新 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 代码生成器和基架引擎。

自变量

generator

要运行的代码生成器。 以下是可用的生成器:

Generator 操作
area 搭建区域的基架
controller 搭建控制器的基架
标识 构建 Identity
razorpage 构建 Razor Pages
查看 搭建视图的基架

选项

-n|--nuget-package-dir

指定 NuGet 包目录。

-c|--configuration {Debug|Release}

定义生成配置。 默认值为 Debug

-tfm|--target-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

前面的命令生成以下文件夹:

  • Areas
    • AreaNameToGenerate
      • Controllers
      • Data
      • Models
      • Views

控制器选项

下表列出了 aspnet-codegeneratorrazorpagecontrollerview 的选项:

选项 说明
--model 或 -m 要使用的模型类。
--dataContext 或 -dc 要使用的 DbContext 类或要生成的类的名称。
--bootstrapVersion 或 -b 指定启动版本。 有效值为 3 or 4进行求值的基于 SQL 语言的筛选器表达式。 默认为 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

请参阅搭建 movie 模型的基架,查看 dotnet aspnet-codegenerator controller 示例。

Razorpage

可以通过指定新页面的名称和要使用的模板来单独搭建 Razor Pages 的基架。 支持如下模板:

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

例如,以下命令使用 Edit 模板生成 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 指定启动版本。 有效值为 3 or 4进行求值的基于 SQL 语言的筛选器表达式。 默认为 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 切换为不针对 Empty 模板生成 PageModel 类

使用 -h 开关获取 aspnet-codegenerator razorpage 命令方面的帮助:

dotnet aspnet-codegenerator razorpage -h

请参阅搭建 movie 模型的基架,查看 dotnet aspnet-codegenerator razorpage 示例。

查看

可以通过指定视图的名称和要使用的模板来单独搭建视图。 支持如下模板:

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

例如,以下命令使用 Edit 模板生成 MyEdit.cshtml

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

下表列出了 aspnet-codegeneratorrazorpagecontrollerview 的选项:

选项 说明
--model 或 -m 要使用的模型类。
--dataContext 或 -dc 要使用的 DbContext 类或要生成的类的名称。
--bootstrapVersion 或 -b 指定启动版本。 有效值为 3 or 4进行求值的基于 SQL 语言的筛选器表达式。 默认为 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

请参阅基架Identity