Ferramenta de gerador de código do ASP.NET Core (aspnet-codegenerator
)
Observação
Esta não é a versão mais recente deste artigo. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
Aviso
Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, confira .NET e a Política de Suporte do .NET Core. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
Importante
Essas informações relacionam-se ao produto de pré-lançamento, que poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.
Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
O comando dotnet aspnet-codegenerator
executa o mecanismo de scaffolding do ASP.NET Core. A execução do comando dotnet aspnet-codegenerator
é necessária para fazer scaffolding da linha de comando ou ao usar o Visual Studio Code. O comando não é necessário para usar scaffolding com o Visual Studio, que inclui o mecanismo de scaffolding por padrão.
Instalar e atualizar a ferramenta de gerador de código
Instale o SDK do .NET.
dotnet aspnet-codegenerator
é uma ferramenta global que deve ser instalada. O comando a seguir instala a versão estável mais recente da ferramenta de gerador de código do ASP.NET Core:
dotnet tool install -g dotnet-aspnet-codegenerator
Observação
Por padrão, a arquitetura dos binários do .NET a serem instalados representa a arquitetura do SO sendo executado no momento. Para especificar uma arquitetura de SO diferente, consulte instalação da ferramenta dotnet, opção --arch. Para obter mais informações, confira o problema dotnet/AspNetCore.Docs #29262 do GitHub.
Se a ferramenta já estiver instalada, o comando a seguir atualizará a ferramenta para a versão estável mais recente disponível nos SDKs do .NET Core instalados:
dotnet tool update -g dotnet-aspnet-codegenerator
Desinstalar a ferramenta de gerador de código
Pode ser necessário desinstalar a ferramenta de gerador de código do ASP.NET Core para resolver problemas. Por exemplo, se você instalou uma versão prévia da ferramenta, desinstale-a antes de instalar a versão lançada.
Os comandos a seguir desinstalam a ferramenta de gerador de código do ASP.NET Core e instalam a versão estável mais recente:
dotnet tool uninstall -g dotnet-aspnet-codegenerator
dotnet tool install -g dotnet-aspnet-codegenerator
Sinopse
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]
Descrição
O comando global dotnet aspnet-codegenerator
executa o mecanismo de scaffolding e o gerador de código do ASP.NET Core.
Argumentos
generator
O gerador de código para ser executado. Os geradores disponíveis são mostrados na tabela a seguir.
Gerador | Operação |
---|---|
area |
Faz scaffolding de uma área. |
blazor |
Os scaffolds do Blazor criam, leem, atualizam, excluem e listam páginas. |
blazor-identity |
Gera arquivos BlazorIdentity. |
controller |
Faz scaffolding de um controlador. |
identity |
Faz scaffolding de Identity. |
minimalapi |
Gera um arquivo de pontos de extremidade (com pontos de extremidade da API CRUD) dado um modelo e um contexto de banco de dados opcional. |
razorpage |
Faz scaffolding de Razor Pages. |
view |
Faz scaffolding de uma exibição. |
Gerador | Operação |
---|---|
area |
Faz scaffolding de uma área. |
controller |
Faz scaffolding de um controlador. |
identity |
Faz scaffolding de Identity. |
minimalapi |
Gera um arquivo de pontos de extremidade (com pontos de extremidade da API CRUD) dado um modelo e um contexto de banco de dados opcional. |
razorpage |
Faz scaffolding de Razor Pages. |
view |
Faz scaffolding de uma exibição. |
Opções
-b|--build-base-path
O caminho base da compilação.
-c|--configuration {Debug|Release}
Define a configuração da compilação. O valor padrão é Debug
.
-h|--help
Imprime uma ajuda breve para o comando.
-n|--nuget-package-dir
Especifica o diretório de pacote do NuGet.
--no-build
Não compila o projeto antes da execução. Passar --no-build
também define implicitamente o sinalizador --no-restore
.
-p|--project <PATH>
Especifica o caminho do arquivo de projeto a ser executado (nome da pasta ou caminho completo). Se não for especificado, a ferramenta usará como padrão o diretório atual.
-tfm|--target-framework
A estrutura de destino a ser usada.
Opções de gerador
As seções a seguir detalham as opções disponíveis para os geradores com suporte:
Opções de área
Uso: dotnet aspnet-codegenerator area {AREA NAME}
O espaço reservado {AREA NAME}
é o nome da área a ser gerada.
O comando anterior gera as seguintes pastas:
Areas
{AREA NAME}
Controllers
Data
Models
Views
Use a opção -h|--help
para obter ajuda:
dotnet aspnet-codegenerator area -h
Blazor options
Os componentes Razor podem receber scaffolding individualmente para aplicativos Blazor especificando o nome do modelo a ser usado. Os modelos com suporte são:
Empty
Create
Edit
Delete
Details
List
CRUD
: CRUD é um acrônimo para Criar, Ler, Atualizar e Excluir. O modeloCRUD
produz componentesCreate
,Edit
,Delete
,Details
eIndex
(List
) para o aplicativo.
As opções para o gerador blazor
são mostradas na tabela a seguir.
Opção | Descrição |
---|---|
-dbProvider|--databaseProvider |
Provedor de banco de dados a ser usado. As opções incluem sqlserver (padrão), sqlite , cosmos ou postgres . |
-dc|--dataContext |
Classe de contexto de banco de dados a ser usada. |
-m|--model |
Classe de modelo a ser usada. |
-ns|--namespaceName |
Especifique o nome do namespace a ser usado para o arquivo de pontos de extremidade gerado. |
--relativeFolderPath|-outDir |
Caminho relativo da pasta de saída. Se não for especificado, os arquivos serão gerados na pasta do projeto. |
O exemplo a seguir:
- Usa o modelo
Edit
para gerar um componenteEdit
(Edit.razor
) na pastaComponents/Pages/MoviePages
do aplicativo. Se a pastaMoviePages
não existir, a ferramenta criará a pasta automaticamente. - Usa o provedor de banco de dados SQLite.
- Usa
BlazorWebAppMovies.Data.BlazorWebAppMoviesContext
para o contexto do banco de dados. - Usa o modelo
Movie
.
dotnet aspnet-codegenerator blazor Edit -dbProvider sqlite -dc BlazorWebAppMovies.Data.BlazorWebAppMoviesContext -m Movie -outDir Components/Pages
Use a opção -h|--help
para obter ajuda:
dotnet aspnet-codegenerator blazor -h
Para saber mais, confira Componente QuickGrid do Blazor no ASP.NET Core.
BlazorIdentity options
Faça scaffolding de componentes IdentityRazor em um aplicativo Blazor com o gerador blazor-identity
.
As opções para o modelo blazor-identity
são mostradas na tabela a seguir.
Opção | Descrição |
---|---|
-dbProvider|--databaseProvider |
Provedor de banco de dados a ser usado. As opções incluem sqlserver (padrão) e sqlite . |
-dc|--dataContext |
Classe de contexto de banco de dados a ser usada. |
-f|--force |
Use essa opção para substituir arquivos existentes. |
-fi|--files |
Lista de arquivos separados por ponto-e-vírgula para o scaffolding. Use a opção -lf|--listFiles para ver as opções disponíveis. |
-lf|--listFiles |
Lista os arquivos para os quais pode ser feito scaffolding usando a opção -fi|--files . |
-rn|--rootNamespace |
O namespace raiz a ser usado para gerar código Identity. |
-u|--userClass |
Nome da classe de usuário a ser gerada. |
Use a opção -h|--help
para obter ajuda:
dotnet aspnet-codegenerator blazor-identity -h
Opções de controlador
As opções gerais são mostradas na tabela a seguir.
Opção | Descrição |
---|---|
-b|--bootstrapVersion |
Especifica a versão de inicialização e cria uma pasta wwwroot para os ativos de inicialização se a pasta não estiver presente. |
-dbProvider|--databaseProvider |
Provedor de banco de dados a ser usado. As opções incluem sqlserver (padrão), sqlite , cosmos , postgres . |
-dc|--dataContext |
A classe de contexto de banco de dados a ser usada ou o nome da classe a ser gerada. |
-f|--force |
Substitui os arquivos existentes. |
-l|--layout |
Página de layout personalizada a ser usada. |
-m|--model |
Classe de modelo a ser usada. |
-outDir|--relativeFolderPath |
Caminho relativo da pasta de saída. Se não for especificado, os arquivos serão gerados na pasta do projeto. |
-scripts|--referenceScriptLibraries |
Faz referência a bibliotecas de script nas exibições geradas. Adiciona _ValidationScriptsPartial a páginas Edit e Create . |
-sqlite|--useSqlite |
Sinalizar para especificar se o contexto do banco de dados deve usar o SQLite em vez do SQL Server. |
-udl|--useDefaultLayout |
Usa o layout padrão das exibições. |
As opções exclusivas de controller
são mostradas na tabela a seguir.
Opção | Descrição |
---|---|
-actions|--readWriteActions |
Gere o controlador com ações de leitura/gravação sem um modelo. |
-api|--restWithNoViews |
Gere um controlador com a API de estilo REST. É assumido noViews e todas as opções relacionadas à visualização são ignoradas. |
-async|--useAsyncActions |
Gerar ações de controlador assíncronas. |
-name|--controllerName |
O nome do controlador. |
-namespace|--controllerNamespace |
Especifique o nome do namespace a ser usado para o controlador gerado. |
-nv|--noViews |
Não gera modos de exibição. |
Use a opção -h|--help
para obter ajuda:
dotnet aspnet-codegenerator controller -h
Para obter um exemplo que usa o gerador controller
, confira Parte 4, adicionar um modelo a um aplicativo do ASP.NET Core MVC.
Identity options
Para obter mais informações, veja Scaffold Identity em projetos ASP.NET Core.
Opções da API mínima
Fazer scaffolding de um back-end de API mínima com o modelo minimalapi
.
As opções para minimalapi
são mostradas na tabela a seguir.
Opção | Descrição |
---|---|
-dbProvider|--databaseProvider |
Provedor de banco de dados a ser usado. As opções incluem sqlserver (padrão), sqlite , cosmos ou postgres . |
-dc|--dataContext |
Classe de contexto de banco de dados a ser usada. |
-e|--endpoints |
Classe de pontos de extremidade a ser usada (não o nome do arquivo). |
-m|--model |
Classe de modelo a ser usada. |
-namespace|--endpointsNamespace |
Especifique o nome do namespace a ser usado para o arquivo de pontos de extremidade gerado. |
-o|--open |
Use esta opção para habilitar o OpenAPI. |
-outDir|--relativeFolderPath |
Caminho relativo da pasta de saída. Se não for especificado, os arquivos serão gerados na pasta do projeto. |
-sqlite|--useSqlite |
Sinalizar para especificar se o contexto do banco de dados deve usar o SQLite em vez do SQL Server. |
O exemplo a seguir:
- Gera uma classe de pontos de extremidade nomeada
SpeakersEndpoints
com pontos de extremidade de API que são mapeados para operações de banco de dados usando a classe de contexto de banco de dadosApplicationDbContext
e o modeloBackEnd.Models.Speaker
. - Adiciona
app.MapSpeakerEndpoints();
ao arquivoProgram
(Program.cs
) para registrar a classe de pontos de extremidade.
dotnet aspnet-codegenerator minimalapi -dc ApplicationDbContext -e SpeakerEndpoints -m BackEnd.Models.Speaker -o
Use a opção -h|--help
para obter ajuda:
dotnet aspnet-codegenerator minimalapi -h
Razor opções de página
As Páginas do Razor podem ser geradas por scaffolding individualmente, especificando o nome da nova página e o modelo a ser usado. Os modelos com suporte são:
Empty
Create
Edit
Delete
Details
List
Normalmente, o modelo e o nome do arquivo gerado não são especificados, o que cria os seguintes modelos:
Create
Edit
Delete
Details
List
As opções gerais são mostradas na tabela a seguir.
Opção | Descrição |
---|---|
-b|--bootstrapVersion |
Especifica a versão de inicialização e cria uma pasta wwwroot para os ativos de inicialização se a pasta não estiver presente. |
-dbProvider|--databaseProvider |
Provedor de banco de dados a ser usado. As opções incluem sqlserver (padrão), sqlite , cosmos , postgres . |
-dc|--dataContext |
A classe de contexto de banco de dados a ser usada ou o nome da classe a ser gerada. |
-f|--force |
Substitui os arquivos existentes. |
-l|--layout |
Página de layout personalizada a ser usada. |
-m|--model |
Classe de modelo a ser usada. |
-outDir|--relativeFolderPath |
Caminho relativo da pasta de saída. Se não for especificado, os arquivos serão gerados na pasta do projeto. |
-scripts|--referenceScriptLibraries |
Faz referência a bibliotecas de script nas exibições geradas. Adiciona _ValidationScriptsPartial a páginas Edit e Create . |
-sqlite|--useSqlite |
Sinalizar para especificar se o contexto do banco de dados deve usar o SQLite em vez do SQL Server. |
-udl|--useDefaultLayout |
Usa o layout padrão das exibições. |
As opções exclusivas de razorpage
são mostradas na tabela a seguir.
Opção | Descrição |
---|---|
-namespace|--namespaceName |
O nome do namespace a ser usado para a classe gerada PageModel . |
-npm|--noPageModel |
Não gere uma classe PageModel para o modelo Empty . |
-partial|--partialView |
Gere uma exibição parcial. As opções de layout -l e -udl serão ignoradas se isto for especificado. |
O exemplo a seguir usa o modelo Edit
para gerar CustomEditPage.cshtml
e CustomEditPage.cshtml.cs
na pasta Pages/Movies
:
dotnet aspnet-codegenerator razorpage CustomEditPage Edit -dc RazorPagesMovieContext -m Movie -outDir Pages/Movies
Use a opção -h|--help
para obter ajuda:
dotnet aspnet-codegenerator razorpage -h
Para obter um exemplo que usa o gerador razorpage
, confira a Parte 2, adicionar um modelo.
Opções de exibição
As exibições podem ser separadas individualmente especificando o nome da exibição e do modelo. Os modelos com suporte são:
Empty
Create
Edit
Delete
Details
List
As opções gerais são mostradas na tabela a seguir.
Opção | Descrição |
---|---|
-b|--bootstrapVersion |
Especifica a versão de inicialização e cria uma pasta wwwroot para os ativos de inicialização se a pasta não estiver presente. |
-dbProvider|--databaseProvider |
Provedor de banco de dados a ser usado. As opções incluem sqlserver (padrão), sqlite , cosmos , postgres . |
-dc|--dataContext |
A classe de contexto de banco de dados a ser usada ou o nome da classe a ser gerada. |
-f|--force |
Substitui os arquivos existentes. |
-l|--layout |
Página de layout personalizada a ser usada. |
-m|--model |
Classe de modelo a ser usada. |
-outDir|--relativeFolderPath |
Caminho relativo da pasta de saída. Se não for especificado, os arquivos serão gerados na pasta do projeto. |
-scripts|--referenceScriptLibraries |
Faz referência a bibliotecas de script nas exibições geradas. Adiciona _ValidationScriptsPartial a páginas Edit e Create . |
-sqlite|--useSqlite |
Sinalizar para especificar se o contexto do banco de dados deve usar o SQLite em vez do SQL Server. |
-udl|--useDefaultLayout |
Usa o layout padrão das exibições. |
As opções exclusivas de view
são mostradas na tabela a seguir.
Opção | Descrição |
---|---|
-namespace|--controllerNamespace |
Especifique o nome do namespace a ser usado para o controlador gerado. |
-partial|--partialView |
Gere uma exibição parcial. Outras opções de layout (-l e -udl ) serão ignoradas se isto for especificado. |
O exemplo a seguir usa o modelo Edit
para gerar CustomEditView.cshtml
na pasta Views/Movies
:
dotnet aspnet-codegenerator view CustomEditView Edit -dc MovieContext -m Movie -outDir Views/Movies
Use a opção -h|--help
para obter ajuda:
dotnet aspnet-codegenerator view -h