Herramienta generador de código de ASP.NET Core (aspnet-codegenerator
)
Nota:
Esta no es la versión más reciente de este artículo. Para la versión actual, consulte la versión .NET 8 de este artículo.
Advertencia
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulte la Directiva de soporte técnico de .NET y .NET Core. Para la versión actual, consulte la versión .NET 8 de este artículo.
Importante
Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
Para la versión actual, consulte la versión .NET 8 de este artículo.
El comando dotnet aspnet-codegenerator
ejecuta el motor de scaffolding de ASP.NET Core. La ejecución del comando dotnet aspnet-codegenerator
es necesaria para aplicar scaffolding desde la línea de comandos o al usar Visual Studio Code. El comando no es necesario para usar scaffolding con Visual Studio, que incluye el motor de scaffolding de forma predeterminada.
Instalación y actualización de la herramienta generador de código
Instale el SDK de .NET.
dotnet aspnet-codegenerator
es una herramienta global que debe estar instalada. El siguiente comando instala la versión estable más reciente de la herramienta generador de código ASP.NET Core:
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.
Si la herramienta ya está instalada, el siguiente comando actualiza la herramienta a la versión estable más reciente disponible en los SDK de .NET Core instalados:
dotnet tool update -g dotnet-aspnet-codegenerator
Desinstalación de la herramienta generador de código
Puede ser necesario desinstalar la herramienta generador de código ASP.NET Core para resolver problemas. Por ejemplo, si instaló una versión preliminar de la herramienta, desinstálela antes de instalar la versión de publicación.
Los siguientes comandos desinstalan la herramienta generador de código ASP.NET Core e instalan 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] [-b|--build-base-path] [-c|--configuration] [-n|--nuget-package-dir] [--no-build] [-p|--project] [-tfm|--target-framework]
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. Los generadores disponibles se muestran en la tabla siguiente.
Generator | Operación |
---|---|
area |
Aplica scaffolding a un área. |
blazor |
Las scaffoldings Blazor crean, leen, actualizan, eliminan y enumeran páginas. |
blazor-identity |
Genera archivos BlazorIdentity. |
controller |
Aplica scaffolding a un controlador. |
identity |
Aplica scaffolding a Identity. |
minimalapi |
Genera un archivo de puntos de conexión (con puntos de conexión de API CRUD) dado un modelo y un contexto de base de datos opcional. |
razorpage |
Aplica scaffolding a Páginas Razor. |
view |
Aplica scaffolding a una vista. |
Generator | Operación |
---|---|
area |
Aplica scaffolding a un área. |
controller |
Aplica scaffolding a un controlador. |
identity |
Aplica scaffolding a Identity. |
minimalapi |
Genera un archivo de puntos de conexión (con puntos de conexión de API CRUD) dado un modelo y un contexto de base de datos opcional. |
razorpage |
Aplica scaffolding a Páginas Razor. |
view |
Aplica scaffolding a una vista. |
Opciones
-b|--build-base-path
La ruta de acceso de la base de compilación.
-c|--configuration {Debug|Release}
Define la configuración de compilación. El valor predeterminado es Debug
.
-h|--help
Imprime una corta ayuda para el comando.
-n|--nuget-package-dir
Especifica el directorio del paquete de NuGet.
--no-build
No compila el proyecto antes de ejecutarlo. Pasar --no-build
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, la herramienta tiene como predeterminado el directorio actual.
-tfm|--target-framework
Establece como destino el marco que se va a usar.
Opciones del generador
En las secciones siguientes se detallan las opciones disponibles para los generadores compatibles:
Opciones del área
Uso: dotnet aspnet-codegenerator area {AREA NAME}
El marcador de posición {AREA NAME}
es el nombre del área que se va a generar.
El comando anterior genera estas carpetas:
Areas
{AREA NAME}
Controllers
Data
Models
Views
Use la opción -h|--help
para obtener ayuda:
dotnet aspnet-codegenerator area -h
Opciones de Blazor
A los componentes Razor se les puede aplicar scaffolding individualmente para aplicaciones Blazor especificando el nombre de la plantilla que se va a usar. Las plantillas admitidas son:
Empty
Create
Edit
Delete
Details
List
CRUD
: CRUD es un acrónimo de Crear, leer, actualizar y eliminar en inglés (Create, Read, Update y Delete). La plantillaCRUD
genera componentesCreate
,Edit
,Delete
,Details
yIndex
(List
) para la aplicación.
Las opciones del generador blazor
se muestran en la tabla siguiente.
Opción | Descripción |
---|---|
-dbProvider|--databaseProvider |
Proveedor de base de datos que se va a usar. Las opciones incluyen sqlserver (valor predeterminado), sqlite , cosmos o postgres . |
-dc|--dataContext |
Clase de contexto de base de datos que se va a usar. |
-m|--model |
Clase de modelo que se va a usar. |
-ns|--namespaceName |
Especifique el nombre del espacio de nombres que se va a usar para el archivo de puntos de conexión generados. |
--relativeFolderPath|-outDir |
Ruta de acceso de la carpeta de salida relativa. Si no se especifica, los archivos se generan en la carpeta del proyecto. |
En el ejemplo siguiente:
- Usa la plantilla
Edit
para generar un componenteEdit
(Edit.razor
) en la carpetaComponents/Pages/MoviePages
de la aplicación. Si la carpetaMoviePages
no existe, la herramienta crea la carpeta automáticamente. - Usa el proveedor de base de datos SQLite.
- Usa
BlazorWebAppMovies.Data.BlazorWebAppMoviesContext
para el contexto de la base de datos. - Usa el modelo
Movie
.
dotnet aspnet-codegenerator blazor Edit -dbProvider sqlite -dc BlazorWebAppMovies.Data.BlazorWebAppMoviesContext -m Movie -outDir Components/Pages
Use la opción -h|--help
para obtener ayuda:
dotnet aspnet-codegenerator blazor -h
Para obtener más información, consulte Componente QuickGrid Blazor de ASP.NET Core.
Opciones de BlazorIdentity
Aplicar scaffolding a los componentes IdentityRazor en una aplicación Blazor con el generador blazor-identity
.
Las opciones de la plantilla blazor-identity
se muestran en la tabla siguiente.
Opción | Descripción |
---|---|
-dbProvider|--databaseProvider |
Proveedor de base de datos que se va a usar. Las opciones incluyen sqlserver (valor predeterminado) y sqlite . |
-dc|--dataContext |
Clase de contexto de base de datos que se va a usar. |
-f|--force |
Use esta opción para sobrescribir los archivos existentes. |
-fi|--files |
Lista de archivos separados por punto y coma para aplicar scaffolding. Use la opción -lf|--listFiles para ver las opciones disponibles. |
-lf|--listFiles |
Enumera los archivos a los que se puede aplicar scaffolding mediante la opción -fi|--files . |
-rn|--rootNamespace |
Espacio de nombres raíz que se va a usar para generar código Identity. |
-u|--userClass |
Nombre de la clase de usuario que se va a generar. |
Use la opción -h|--help
para obtener ayuda:
dotnet aspnet-codegenerator blazor-identity -h
Opciones del controlador
Las opciones generales se muestran en la tabla siguiente.
Opción | Descripción |
---|---|
-b|--bootstrapVersion |
Especifica la versión de arranque y crea una carpeta wwwroot para los recursos de Bootstrap si la carpeta no está presente. |
-dbProvider|--databaseProvider |
Proveedor de base de datos que se va a usar. Las opciones incluyen sqlserver (valor predeterminado), sqlite , cosmos , postgres . |
-dc|--dataContext |
La clase de contexto de base de datos que se va a usar o el nombre de la clase que se va a generar. |
-f|--force |
Sobrescribe los archivos existentes. |
-l|--layout |
Página de diseño personalizado que se va a usar. |
-m|--model |
Clase de modelo que se va a usar. |
-outDir|--relativeFolderPath |
Ruta de acceso de la carpeta de salida relativa. Si no se especifica, los archivos se generan en la carpeta del proyecto. |
-scripts|--referenceScriptLibraries |
Bibliotecas de scripts de referencia en las vistas generadas. Agrega _ValidationScriptsPartial a las páginas Edit y Create . |
-sqlite|--useSqlite |
Marca para especificar si el contexto de la base de datos debe usar SQLite en lugar de SQL Server. |
-udl|--useDefaultLayout |
Usa el diseño predeterminado de las vistas. |
Las opciones únicas para controller
se muestran en la tabla siguiente.
Opción | Descripción |
---|---|
-actions|--readWriteActions |
Genera un controlador con acciones de lectura/escritura sin un modelo. |
-api|--restWithNoViews |
Genera un controlador con una API de estilo REST. Se supone noViews y todas las opciones relacionadas con la vista se omiten. |
-async|--useAsyncActions |
Generar acciones de controlador asincrónicas. |
-name|--controllerName |
El nombre del controlador. |
-namespace|--controllerNamespace |
Se especifica el nombre del espacio de nombres que se usará para el controlador generado. |
-nv|--noViews |
No genera vistas. |
Use la opción -h|--help
para obtener ayuda:
dotnet aspnet-codegenerator controller -h
Para obtener un ejemplo que use el generador controller
, consulte Parte 4, agregar un modelo a una aplicación ASP.NET Core MVC.
Opciones de Identity
Para obtener más información, vea Scaffolding Identity en proyectos de ASP.NET Core.
Opciones de API mínimas
Aplicar scaffolding a un back-end de API mínima con la plantilla minimalapi
.
Las opciones de minimalapi
se muestran en la tabla siguiente.
Opción | Descripción |
---|---|
-dbProvider|--databaseProvider |
Proveedor de base de datos que se va a usar. Las opciones incluyen sqlserver (valor predeterminado), sqlite , cosmos o postgres . |
-dc|--dataContext |
Clase de contexto de base de datos que se va a usar. |
-e|--endpoints |
Clase de puntos de conexión que se va a usar (no el nombre de archivo). |
-m|--model |
Clase de modelo que se va a usar. |
-namespace|--endpointsNamespace |
Especifique el nombre del espacio de nombres que se va a usar para el archivo de puntos de conexión generados. |
-o|--open |
Use esta opción para habilitar OpenAPI. |
-outDir|--relativeFolderPath |
Ruta de acceso de la carpeta de salida relativa. Si no se especifica, los archivos se generan en la carpeta del proyecto. |
-sqlite|--useSqlite |
Marca para especificar si el contexto de la base de datos debe usar SQLite en lugar de SQL Server. |
En el ejemplo siguiente:
- Genera una clase de puntos de conexión denominada
SpeakersEndpoints
con puntos de conexión de API que se asignan a las operaciones de base de datos mediante la clase de contexto de base de datosApplicationDbContext
y el modeloBackEnd.Models.Speaker
. - Agrega
app.MapSpeakerEndpoints();
al archivoProgram
(Program.cs
) para registrar la clase de puntos de conexión.
dotnet aspnet-codegenerator minimalapi -dc ApplicationDbContext -e SpeakerEndpoints -m BackEnd.Models.Speaker -o
Use la opción -h|--help
para obtener ayuda:
dotnet aspnet-codegenerator minimalapi -h
Opciones de página Razor
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
Normalmente, no se especifica la plantilla ni el nombre de archivo generado, lo que crea las siguientes plantillas:
Create
Edit
Delete
Details
List
Las opciones generales se muestran en la tabla siguiente.
Opción | Descripción |
---|---|
-b|--bootstrapVersion |
Especifica la versión de arranque y crea una carpeta wwwroot para los recursos de Bootstrap si la carpeta no está presente. |
-dbProvider|--databaseProvider |
Proveedor de base de datos que se va a usar. Las opciones incluyen sqlserver (valor predeterminado), sqlite , cosmos , postgres . |
-dc|--dataContext |
La clase de contexto de base de datos que se va a usar o el nombre de la clase que se va a generar. |
-f|--force |
Sobrescribe los archivos existentes. |
-l|--layout |
Página de diseño personalizado que se va a usar. |
-m|--model |
Clase de modelo que se va a usar. |
-outDir|--relativeFolderPath |
Ruta de acceso de la carpeta de salida relativa. Si no se especifica, los archivos se generan en la carpeta del proyecto. |
-scripts|--referenceScriptLibraries |
Bibliotecas de scripts de referencia en las vistas generadas. Agrega _ValidationScriptsPartial a las páginas Edit y Create . |
-sqlite|--useSqlite |
Marca para especificar si el contexto de la base de datos debe usar SQLite en lugar de SQL Server. |
-udl|--useDefaultLayout |
Usa el diseño predeterminado de las vistas. |
Las opciones únicas para razorpage
se muestran en la tabla siguiente.
Opción | Descripción |
---|---|
-namespace|--namespaceName |
El nombre del espacio de nombres que se usará para la clase PageModel generada. |
-npm|--noPageModel |
No genere una clase PageModel para la plantilla Empty . |
-partial|--partialView |
Genera una vista parcial. Si se especifica, las opciones de diseño -l y -udl se ignoran. |
En el ejemplo siguiente se usa la plantilla Edit
para generar CustomEditPage.cshtml
y CustomEditPage.cshtml.cs
en la carpeta Pages/Movies
:
dotnet aspnet-codegenerator razorpage CustomEditPage Edit -dc RazorPagesMovieContext -m Movie -outDir Pages/Movies
Use la opción -h|--help
para obtener ayuda:
dotnet aspnet-codegenerator razorpage -h
Para obtener un ejemplo que use el generador razorpage
, vea Parte 2, agregar un modelo.
Ver las opciones
Es posible aplicar scaffolding a las vistas de manera individual si se especifica el nombre de la vista y la plantilla. Las plantillas admitidas son:
Empty
Create
Edit
Delete
Details
List
Las opciones generales se muestran en la tabla siguiente.
Opción | Descripción |
---|---|
-b|--bootstrapVersion |
Especifica la versión de arranque y crea una carpeta wwwroot para los recursos de Bootstrap si la carpeta no está presente. |
-dbProvider|--databaseProvider |
Proveedor de base de datos que se va a usar. Las opciones incluyen sqlserver (valor predeterminado), sqlite , cosmos , postgres . |
-dc|--dataContext |
La clase de contexto de base de datos que se va a usar o el nombre de la clase que se va a generar. |
-f|--force |
Sobrescribe los archivos existentes. |
-l|--layout |
Página de diseño personalizado que se va a usar. |
-m|--model |
Clase de modelo que se va a usar. |
-outDir|--relativeFolderPath |
Ruta de acceso de la carpeta de salida relativa. Si no se especifica, los archivos se generan en la carpeta del proyecto. |
-scripts|--referenceScriptLibraries |
Bibliotecas de scripts de referencia en las vistas generadas. Agrega _ValidationScriptsPartial a las páginas Edit y Create . |
-sqlite|--useSqlite |
Marca para especificar si el contexto de la base de datos debe usar SQLite en lugar de SQL Server. |
-udl|--useDefaultLayout |
Usa el diseño predeterminado de las vistas. |
Las opciones únicas para view
se muestran en la tabla siguiente.
Opción | Descripción |
---|---|
-namespace|--controllerNamespace |
Se especifica el nombre del espacio de nombres que se usará para el controlador generado. |
-partial|--partialView |
Genera una vista parcial. Si se especifica, otras opciones de diseño (-l y -udl ) se ignoran. |
En el ejemplo siguiente se usa la plantilla Edit
para generar CustomEditView.cshtml
en la carpeta Views/Movies
:
dotnet aspnet-codegenerator view CustomEditView Edit -dc MovieContext -m Movie -outDir Views/Movies
Use la opción -h|--help
para obtener ayuda:
dotnet aspnet-codegenerator view -h