Ferramenta de gerador de código do ASP.NET Core (aspnet-codegenerator)

Note

Esta não é a versão mais recente deste artigo. Para a versão atual, consulte a versão do .NET 10 deste artigo.

Warning

Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, consulte a Política de Suporte do .NET e do .NET Core. Para a versão atual, consulte a versão do .NET 10 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 o scaffolding no Visual Studio, que inclui esse mecanismo 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

Note

Por padrão, a arquitetura dos binários .NET a serem instalados representa a arquitetura do sistema operacional em execução no momento. Para especificar uma arquitetura diferente, examine como usar o dotnet tool install comando com a opção '--arch'. Para obter mais informações, consulte GitHub dotnet/aspnetcore.docs issue #29262 - Add '-a arm64' no Apple Silicon.

Se a ferramenta já estiver instalada, o seguinte comando atualizará a ferramenta para a versão estável mais recente disponível nos SDKs do .NET 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

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

O comando global dotnet aspnet-codegenerator executa o gerador de código e o mecanismo de scaffolding do ASP.NET Core.

Arguments

generator

O gerador de código a ser executado. Os geradores disponíveis são mostrados na tabela a seguir.

Generator Operation
area Cria a estrutura de uma área.
blazor Scaffolds Blazor criam, leem, atualizam, excluem e listam páginas.
blazor-identity Gera arquivos BlazorIdentity.
controller Gera a estrutura de um controlador.
identity Estruturas Identity.
minimalapi Gera um arquivo de endpoints (com endpoints de API CRUD) com base em um modelo e um contexto de banco de dados opcional.
razorpage Gera Razor Páginas.
view Gera a estrutura de uma visualização.
Generator Operation
area Cria a estrutura de uma área.
controller Gera a estrutura de um controlador.
identity Estruturas de apoio 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 Cria o scaffolding de Razor Páginas.
view Gera uma visualizaçã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

Exibe uma breve ajuda para o comando.

-n|--nuget-package-dir

Especifica o diretório de pacote do NuGet.

--no-build

Não compila o projeto antes de executar. 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 marcador {AREA NAME} corresponde ao 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 opções

Os componentes Razor podem ser gerados individualmente em 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 modelo CRUD produz componentes Create, Edit, Delete, Details e Index (List) para o aplicativo.

As opções para o gerador blazor são mostradas na tabela a seguir.

Option Description
-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 no arquivo Endpoints 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 componente Edit (Edit.razor) na pasta Components/Pages/MoviePages do aplicativo. Se a pasta MoviePages 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 obter um exemplo que usa o blazor gerador, consulte Criar um aplicativo de Blazor banco de dados de filmes (visão geral).

Para obter mais informações, consulte ASP.NET Core Blazor `QuickGrid` componente.

Blazor Opções de Identity

Gere componentes IdentityRazor em um app Blazor com o gerador blazor-identity.

As opções para o modelo blazor-identity são mostradas na tabela a seguir.

Option Description
-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 gerar a estrutura. 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 do controlador

As opções gerais são mostradas na tabela a seguir.

Option Description
-b|--bootstrapVersion Especifica a versão do Bootstrap e cria uma pasta wwwroot para os arquivos do Bootstrap caso a pasta não exista.
-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 Sobrescrever 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.

Option Description
-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. noViews é presumido, e quaisquer opções relacionadas à exibiçã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 Gerar nenhuma 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 opções

Para obter mais informações, veja Scaffold Identity em projetos ASP.NET Core.

Opções da API mínima

Criar um backend de API mínima com o template minimalapi.

As opções para minimalapi são mostradas na tabela a seguir.

Option Description
-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 Endpoints a ser utilizada (não o nome do arquivo).
-m|--model Classe de modelo a ser usada.
-namespace|--endpointsNamespace Especifique o nome do namespace a ser usado no arquivo de endpoints 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 endpoints chamada SpeakersEndpoints com endpoints de API mapeados para operações de banco de dados usando a classe de contexto do banco de dados ApplicationDbContext e o modelo BackEnd.Models.Speaker.
  • Adiciona app.MapSpeakerEndpoints(); ao arquivo Program (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

Razor As páginas podem ser criadas individualmente, especificando o nome da nova página e o modelo a ser utilizado. 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.

Option Description
-b|--bootstrapVersion Especifica a versão do Bootstrap e cria uma pasta wwwroot para os arquivos do Bootstrap caso a pasta não exista.
-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 Sobrescrever 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.

Option Description
-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.

Option Description
-b|--bootstrapVersion Especifica a versão do Bootstrap e cria uma pasta wwwroot para os arquivos do Bootstrap caso a pasta não exista.
-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 Sobrescrever 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.

Option Description
-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