Partilhar via


ASP.NET Ferramenta geradora de código principal (aspnet-codegenerator)

Observação

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

Advertência

Esta versão do ASP.NET Core não é mais suportada. Para obter mais informações, consulte a Política de suporte do .NET e .NET Core. Para a versão atual, consulte a versão .NET 9 deste artigo.

Importante

Estas informações referem-se a um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui.

Para a versão atual, consulte a versão .NET 9 deste artigo.

O comando dotnet aspnet-codegenerator executa o mecanismo de andaime ASP.NET Core. A execução do comando dotnet aspnet-codegenerator é necessária para configurar a partir da linha de comando ou quando se utiliza o Visual Studio Code. O comando não é necessário para usar andaimes com o Visual Studio, que inclui o mecanismo de andaime por padrão.

Instalar e atualizar a ferramenta geradora 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 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 sistema operacional em execução no momento. Para especificar uma arquitetura de sistema operativo diferente, consulte dotnet tool install, opção --arch. Para obter mais informações, consulte o issue do GitHub dotnet/AspNetCore.Docs #29262.

Se a ferramenta já estiver instalada, o comando a seguir atualiza 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

Desinstale a ferramenta geradora de código

Pode ser necessário desinstalar a ferramenta de gerador de código ASP.NET Core para resolver problemas. Por exemplo, se você instalou uma versão de visualização da ferramenta, desinstale-a antes de instalar a versão lançada.

Os comandos a seguir desinstalam a ferramenta gerador de código 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 gerador de código ASP.NET Core e o mecanismo de andaime.

Argumentos

generator

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

Gerador Funcionamento
area Monta uma área.
blazor Scaffolds Blazor criar, ler, atualizar, apagar e listar páginas.
blazor-identity Gera arquivos BlazorIdentity.
controller Andaimes um controlador.
identity Andaimes Identity.
minimalapi Gera um arquivo de pontos de extremidade (com pontos de extremidade de API CRUD) dado um modelo e contexto de banco de dados opcional.
razorpage Andaimes Razor Páginas.
view Estrutura uma vista.
Gerador Funcionamento
area Andaimes uma área.
controller Configura um controlador.
identity Andaimes Identity.
minimalapi Gera um ficheiro de endpoints (com endpoints CRUD da API) a partir de um modelo e um contexto de base de dados opcional.
razorpage andaimes Razor páginas.
view Estrutura uma visão.

Opções

-b|--build-base-path

O caminho base da compilação.

-c|--configuration {Debug|Release}

Define a configuração de compilação. O valor padrão é Debug.

-h|--help

Imprime um resumo de ajuda sobre o comando.

-n|--nuget-package-dir

Especifica o diretório do pacote NuGet.

--no-build

Não cria o projeto antes da execução. Passar --no-build também implicitamente define a bandeira --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, o padrão da ferramenta será o diretório atual.

-tfm|--target-framework

A estrutura alvo a usar.

Opções do gerador

As seções a seguir detalham as opções disponíveis para os geradores suportados:

Opções de área

Uso: dotnet aspnet-codegenerator area {AREA NAME}

O marcador de posição {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 opções

Razor componentes podem ser montados individualmente para aplicativos Blazor especificando o nome do modelo a ser usado. Os modelos suportados são:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List
  • CRUD: CRUD é um acrônimo para Create, Read, Update, and Delete. O modelo CRUD produz componentes Create, Edit, Delete, Detailse Index (List) para o aplicativo.

As opções para o gerador de 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, cosmosou 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 espaço de nomes a ser utilizado para o ficheiro de Endpoints gerado.
--relativeFolderPath|-outDir Caminho relativo da pasta de saída. Se não for especificado, os arquivos sã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 gerador de blazor, consulte Criar um aplicativo de banco de dados de filmes Blazor (Visão geral).

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

Blazor Identity opções

Scaffold IdentitycomponentesRazor num app 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 esta opção para substituir arquivos existentes.
-fi|--files Lista de arquivos separados por ponto-e-vírgula para estruturar. Use a opção -lf|--listFiles para ver as opções disponíveis.
-lf|--listFiles Lista os arquivos que podem ser estruturados usando a opção -fi|--files.
-rn|--rootNamespace 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.

Opção Descrição
-b|--bootstrapVersion Especifica a versão de bootstrap e cria uma pasta wwwroot para os ativos Bootstrap 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 do banco de dados a ser usada ou o nome da classe a ser gerada.
-f|--force Substituir ficheiros 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 são gerados na pasta do projeto.
-scripts|--referenceScriptLibraries Bibliotecas de scripts de referência nas exibições geradas. Adiciona _ValidationScriptsPartial às páginas Edit e Create.
-sqlite|--useSqlite Sinalizador para especificar se o contexto do banco de dados deve usar SQLite em vez do SQL Server.
-udl|--useDefaultLayout Use o layout padrão para os modos de exibição.

As opções exclusivas para 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 estilo API REST. noViews é assumido e todas as opções relacionadas à exibição são ignoradas.
-async|--useAsyncActions Gere ações assíncronas do controlador.
-name|--controllerName Nome do controlador.
-namespace|--controllerNamespace Especifique o nome do namespace a ser usado para o controlador gerado.
-nv|--noViews Gere sem visualizações.

Use a opção -h|--help para obter ajuda:

dotnet aspnet-codegenerator controller -h

Para obter um exemplo que usa o gerador de controller, consulte Parte 4, adicionar um modelo a um aplicativo ASP.NET Core MVC.

Identity opções

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

Opções mínimas de API

Estruturar 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, cosmosou postgres.
-dc|--dataContext Classe de contexto de banco de dados a ser usada.
-e|--endpoints Classe de Endpoints a usar (não o nome do ficheiro).
-m|--model Classe de modelo a ser usada.
-namespace|--endpointsNamespace Especifique o nome do namespace a ser usado para o ficheiro de endereços de rede gerado.
-o|--open Use esta opção para ativar a OpenAPI.
-outDir|--relativeFolderPath Caminho relativo da pasta de saída. Se não for especificado, os arquivos são gerados na pasta do projeto.
-sqlite|--useSqlite Sinalizador para especificar se o contexto do banco de dados deve usar SQLite em vez do SQL Server.

O exemplo a seguir:

  • Gera uma classe de endpoints chamada SpeakersEndpoints com endpoints de API que mapeiam para operações de banco de dados usando a classe de contexto de base 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 estruturadas individualmente, especificando o nome da nova página e o modelo a ser usado. Os modelos suportados 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 bootstrap e cria uma pasta wwwroot para os ativos Bootstrap 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 do banco de dados a ser usada ou o nome da classe a ser gerada.
-f|--force Substituir ficheiros 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 são gerados na pasta do projeto.
-scripts|--referenceScriptLibraries Bibliotecas de scripts de referência nas exibições geradas. Adiciona _ValidationScriptsPartial às páginas Edit e Create.
-sqlite|--useSqlite Sinalizador para especificar se o contexto do banco de dados deve usar SQLite em vez do SQL Server.
-udl|--useDefaultLayout Use o layout padrão para os modos de exibição.

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

Opção Descrição
-namespace|--namespaceName O nome do namespace a ser usado para a classe PageModel gerada.
-npm|--noPageModel Não gere uma classe PageModel para o modelo Empty.
-partial|--partialView Gere uma visualização parcial. As opções de layout -l e -udl serão ignoradas se isso 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 de razorpage, consulte Parte 2, adicione um modelo.

Ver opções

As vistas podem ser individualmente estruturadas especificando o nome da vista e do modelo. Os modelos suportados 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 bootstrap e cria uma pasta wwwroot para os ativos Bootstrap 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 do banco de dados a ser usada ou o nome da classe a ser gerada.
-f|--force Substituir ficheiros 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 são gerados na pasta do projeto.
-scripts|--referenceScriptLibraries Bibliotecas de scripts de referência nas exibições geradas. Adiciona _ValidationScriptsPartial às páginas Edit e Create.
-sqlite|--useSqlite Sinalizador para especificar se o contexto do banco de dados deve usar SQLite em vez do SQL Server.
-udl|--useDefaultLayout Use o layout padrão para os modos de exibição.

As opções exclusivas para 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 visualização parcial. Outras opções de layout (-l e -udl) serão ignoradas se isso 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