Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Herramienta generador de código de ASP.NET Core (
Note
Esta no es la versión más reciente de este artículo. Para la versión actual, consulte la versión de .NET 10 de este artículo.
Warning
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulte la directiva de compatibilidad de .NET y .NET Core. Para la versión actual, consulte la versión de .NET 10 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
Note
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, consulta 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 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
Synopsis
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]
Description
El comando dotnet aspnet-codegenerator global ejecuta el generador de código de ASP.NET Core y el motor de scaffolding.
Arguments
generator
El generador de código que se va a ejecutar. Los generadores disponibles se muestran en la tabla siguiente.
| Generator | Operation |
|---|---|
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 | Operation |
|---|---|
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. |
Options
-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 de á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}ControllersDataModelsViews
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:
EmptyCreateEditDeleteDetailsList-
CRUD: CRUD es un acrónimo de Crear, leer, actualizar y eliminar en inglés (Create, Read, Update y Delete). La plantillaCRUDgenera componentesCreate,Edit,Delete,DetailsyIndex(List) para la aplicación.
Las opciones del generador blazor se muestran en la tabla siguiente.
| Option | Description |
|---|---|
-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
Editpara generar un componenteEdit(Edit.razor) en la carpetaComponents/Pages/MoviePagesde la aplicación. Si la carpetaMoviePagesno existe, la herramienta crea la carpeta automáticamente. - Usa el proveedor de base de datos SQLite.
- Usa
BlazorWebAppMovies.Data.BlazorWebAppMoviesContextpara 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 un ejemplo que use el blazor generador, consulte Compilación de una Blazor aplicación de base de datos de películas (Información general).
Para obtener más información, vea ASP.NET Core Blazor `QuickGrid` componente.
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.
| Option | Description |
|---|---|
-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.
| Option | Description |
|---|---|
-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.
| Option | Description |
|---|---|
-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.
| Option | Description |
|---|---|
-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
SpeakersEndpointscon puntos de conexión de API que se asignan a las operaciones de base de datos mediante la clase de contexto de base de datosApplicationDbContexty 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:
EmptyCreateEditDeleteDetailsList
Normalmente, no se especifica la plantilla ni el nombre de archivo generado, lo que crea las siguientes plantillas:
CreateEditDeleteDetailsList
Las opciones generales se muestran en la tabla siguiente.
| Option | Description |
|---|---|
-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.
| Option | Description |
|---|---|
-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.
Opciones de visualización
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:
EmptyCreateEditDeleteDetailsList
Las opciones generales se muestran en la tabla siguiente.
| Option | Description |
|---|---|
-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.
| Option | Description |
|---|---|
-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