dotnet aspnet-codegenerator

Por Rick Anderson

dotnet aspnet-codegenerator: ejecuta el motor de scaffolding de ASP.NET Core. dotnet aspnet-codegenerator solo es necesario para aplicar scaffolding desde la línea de comandos, no es necesario para usar la técnica de scaffolding con Visual Studio.

Instalación y actualización de aspnet-codegenerator

Instale el SDK de .NET.

dotnet aspnet-codegenerator es una herramienta global que debe estar instalada. El comando siguiente instala la versión estable más reciente de la herramienta dotnet aspnet-codegenerator:

dotnet tool install -g dotnet-aspnet-codegenerator

Nota:

De manera predeterminada, la arquitectura de los binarios .NET que se van a instalar representa la arquitectura del sistema operativo que se está ejecutando en ese momento. Para especificar una arquitectura de SO diferente, consulte dotnet tool install, --arch option. Para más información, consulte la incidencia de GitHub dotnet/AspNetCore.Docs #29262.

El comando siguiente actualiza dotnet aspnet-codegenerator a la versión estable más reciente disponible desde los SDK instalados de .NET Core:

dotnet tool update -g dotnet-aspnet-codegenerator

Desinstalación de aspnet-codegenerator

Puede que sea necesario desinstalar aspnet-codegenerator para resolver problemas. Por ejemplo, si instaló una versión preliminar de aspnet-codegenerator, desinstálela antes de instalar la versión de publicación.

El comando siguiente desinstala la herramienta dotnet aspnet-codegenerator e instala la versión estable más reciente:

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

Sinopsis

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]

Descripción

El comando dotnet aspnet-codegenerator global ejecuta el generador de código de ASP.NET Core y el motor de scaffolding.

Argumentos

generator

El generador de código que se va a ejecutar. Estos generadores están disponibles:

Generator Operación
área Aplica scaffolding a un área
controlador Aplica scaffolding a un controlador
identidad Aplica scaffolding a Identity
razorpage Aplica scaffolding a Razor Pages
vista Aplica scaffolding a una vista

Opciones

-n|--nuget-package-dir

Especifica el directorio del paquete de NuGet.

-c|--configuration {Debug|Release}

Define la configuración de compilación. El valor predeterminado es Debug.

-tfm|--target-framework

Establece como destino el marco que se va a usar. Por ejemplo: net46.

-b|--build-base-path

La ruta de acceso de la base de compilación.

-h|--help

Imprime una corta ayuda para el comando.

--no-build

No compila el proyecto antes de ejecutarlo. También establece la marca --no-restore de forma implícita.

-p|--project <PATH>

Especifica la ruta de acceso del archivo del proyecto que se va a ejecutar (nombre de la carpeta o ruta de acceso completa). Si no se especifica, se toma como predeterminado el directorio actual.

Opciones del generador

En las secciones siguientes se detallan las opciones disponibles para los generadores compatibles:

  • Área
  • Controlador
  • Identity
  • Razorpage
  • Ver

Opciones del área

Esta herramienta está diseñada para los proyectos web de ASP.NET Core con controladores y vistas. No está pensada para las aplicaciones de Razor Pages.

Uso: dotnet aspnet-codegenerator area AreaNameToGenerate

El comando anterior genera estas carpetas:

  • Áreas
    • AreaNameToGenerate
      • Controladores
      • Data
      • Models
      • Vistas

Opciones del controlador

En la tabla siguiente se indican las opciones para aspnet-codegeneratorrazorpage, controller y view:

Opción Description
--model o -m Clase de modelo que se va a usar.
--dataContext o -dc La clase DbContext que se va a usar o el nombre de la clase que se va a generar.
--bootstrapVersion o -b Especifica la versión de arranque. Los valores válidos son 3 y 4. El valor predeterminado es 4. Si es necesario y no existe, se crea un directorio wwwroot que incluye los archivos de arranque de la versión especificada.
--referenceScriptLibraries o -scripts Bibliotecas de scripts de referencia en las vistas generadas. Agrega _ValidationScriptsPartial a las páginas Editar y Crear.
--layout o -l Página de diseño personalizado que se va a usar.
--useDefaultLayout o -udl Usa el diseño predeterminado de las vistas.
--force o -f Sobrescribe los archivos existentes.
--relativeFolderPath o -outDir Especifique la ruta de acceso a la carpeta de salida relativa del proyecto donde debe generarse el archivo; si no se especifica, el archivo se generará en la carpeta del proyecto.
--useSqlite o -sqlite Marca para especificar si DbContext debe usar SQLite en lugar de SQL Server.

En la tabla siguiente se muestran las opciones únicas para aspnet-codegenerator controller:

Opción Descripción
--controllerName o -name El nombre del controlador.
--useAsyncActions o -async Genera acciones asincrónicas del controlador.
--noViews o -nv No genera vistas.
--restWithNoViews o -api Genera un controlador con una API de estilo REST. Se supone noViews y todas las opciones relacionadas con la vista se omiten.
--readWriteActions o -actions Genera un controlador con acciones de lectura/escritura sin un modelo.

Use el modificador -h para obtener ayuda sobre el comando aspnet-codegenerator controller:

dotnet aspnet-codegenerator controller -h

Consulte Aplicar scaffolding al modelo de película para ver un ejemplo de dotnet aspnet-codegenerator controller.

Razorpage

Es posible aplicar scaffolding a Razor Pages de manera individual si se especifica el nombre de la página nueva y la plantilla a usar. Las plantillas admitidas son:

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

Por ejemplo, el comando siguiente usa la plantilla de edición para generar MyEdit.cshtml y MyEdit.cshtml.cs:

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

Por lo general, no se especifica la plantilla ni el nombre del archivo generado y se crean estas plantillas:

  • Create
  • Edit
  • Delete
  • Details
  • List

En la tabla siguiente se indican las opciones para aspnet-codegeneratorrazorpage, controller y view:

Opción Description
--model o -m Clase de modelo que se va a usar.
--dataContext o -dc La clase DbContext que se va a usar o el nombre de la clase que se va a generar.
--bootstrapVersion o -b Especifica la versión de arranque. Los valores válidos son 3 y 4. El valor predeterminado es 4. Si es necesario y no existe, se crea un directorio wwwroot que incluye los archivos de arranque de la versión especificada.
--referenceScriptLibraries o -scripts Bibliotecas de scripts de referencia en las vistas generadas. Agrega _ValidationScriptsPartial a las páginas Editar y Crear.
--layout o -l Página de diseño personalizado que se va a usar.
--useDefaultLayout o -udl Usa el diseño predeterminado de las vistas.
--force o -f Sobrescribe los archivos existentes.
--relativeFolderPath o -outDir Especifique la ruta de acceso a la carpeta de salida relativa del proyecto donde debe generarse el archivo; si no se especifica, el archivo se generará en la carpeta del proyecto.
--useSqlite o -sqlite Marca para especificar si DbContext debe usar SQLite en lugar de SQL Server.

En la tabla siguiente se muestran las opciones únicas para aspnet-codegenerator razorpage:

Opción Descripción
--namespaceName o -namespace El nombre del espacio de nombres que se usará para la clase PageModel generada.
--partialView o -partial Genera una vista parcial. Si se especifica, las opciones de diseño -l y -udl se ignoran.
--noPageModel o -npm Cambia a no generar una clase PageModel para una plantilla vacía.

Use el modificador -h para obtener ayuda sobre el comando aspnet-codegenerator razorpage:

dotnet aspnet-codegenerator razorpage -h

Consulte Aplicar scaffolding al modelo de película para ver un ejemplo de dotnet aspnet-codegenerator razorpage.

Ver

Es posible aplicar scaffolding a las vistas de manera individual si se especifica el nombre de la vista y la plantilla que se va a usar. Las plantillas admitidas son:

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

Por ejemplo, el comando siguiente usa la plantilla de edición para generar MyEdit.cshtml:

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

En la tabla siguiente se indican las opciones para aspnet-codegeneratorrazorpage, controller y view:

Opción Description
--model o -m Clase de modelo que se va a usar.
--dataContext o -dc La clase DbContext que se va a usar o el nombre de la clase que se va a generar.
--bootstrapVersion o -b Especifica la versión de arranque. Los valores válidos son 3 y 4. El valor predeterminado es 4. Si es necesario y no existe, se crea un directorio wwwroot que incluye los archivos de arranque de la versión especificada.
--referenceScriptLibraries o -scripts Bibliotecas de scripts de referencia en las vistas generadas. Agrega _ValidationScriptsPartial a las páginas Editar y Crear.
--layout o -l Página de diseño personalizado que se va a usar.
--useDefaultLayout o -udl Usa el diseño predeterminado de las vistas.
--force o -f Sobrescribe los archivos existentes.
--relativeFolderPath o -outDir Especifique la ruta de acceso a la carpeta de salida relativa del proyecto donde debe generarse el archivo; si no se especifica, el archivo se generará en la carpeta del proyecto.
--useSqlite o -sqlite Marca para especificar si DbContext debe usar SQLite en lugar de SQL Server.

En la tabla siguiente se muestran las opciones únicas para aspnet-codegenerator view:

Opción Descripción
--controllerNamespace o -namespace Se especifica el nombre del espacio de nombres que se usará para el controlador generado.
--partialView o -partial Se genera una vista parcial y se omiten otras opciones de diseño (-l y -udl), si se especifica.

Use el modificador -h para obtener ayuda sobre el comando aspnet-codegenerator view:

dotnet aspnet-codegenerator view -h

Identity

Vea Scaffolding Identity.