dotnet aspnet-codegenerator

Por Rick Anderson

dotnet aspnet-codegenerator – executa o mecanismo de scaffolding do ASP.NET Core. dotnet aspnet-codegenerator é necessário somente para fazer scaffold da linha de comando, não é preciso usar o scaffolding com o Visual Studio.

Instalar e atualizar o aspnet-codegenerator

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 dotnet aspnet-codegenerator:

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.

O comando a seguir atualiza dotnet aspnet-codegenerator para a versão estável mais recente disponível dos SDKs do .NET Core instalado:

dotnet tool update -g dotnet-aspnet-codegenerator

Desinstalar o aspnet-codegenerator

Pode ser necessário desinstalar o aspnet-codegenerator para resolve problemas. Por exemplo, se você instalou uma versão prévia do aspnet-codegenerator, desinstale-a antes de instalar a versão lançada.

Os comandos a seguir desinstalam a ferramenta dotnet aspnet-codegenerator 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] [-p|--project] [-n|--nuget-package-dir] [-c|--configuration] [-tfm|--target-framework] [-b|--build-base-path] [--no-build] 
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 a seguir estão disponíveis:

Gerador Operação
area Faz scaffold de uma área
controlador Faz scaffold de um controlador
identity Fazem scaffold Identity
razorpage Fazem scaffold de Páginas do Razor
view Faz scaffolds de um modo de exibição

Opções

-n|--nuget-package-dir

Especifica o diretório de pacote do NuGet.

-c|--configuration {Debug|Release}

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

-tfm|--target-framework

O Framework destino para usar. Por exemplo, net46.

-b|--build-base-path

O caminho base da compilação.

-h|--help

Imprime uma ajuda breve para o comando.

--no-build

Não compila o projeto antes da execução. Também define o sinalizador --no-restore implicitamente.

-p|--project <PATH>

Especifica o caminho do arquivo de projeto a ser executado (nome da pasta ou caminho completo). Se não é especificado, ele usa como padrão o diretório atual.

Opções de gerador

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

  • Área
  • Controller
  • Identity
  • Razorpage
  • Modo de exibição

Opções de área

Essa ferramenta destina-se aos projetos Web do ASP.NET Core com controladores e exibições. Ele não é destinado a aplicativos Páginas do Razor.

Uso: dotnet aspnet-codegenerator area AreaNameToGenerate

O comando anterior gera as seguintes pastas:

  • Áreas
    • AreaNameToGenerate
      • Controladores
      • Dados
      • Modelos
      • Exibições

Opções de controlador

A tabela a seguir lista as opções para aspnet-codegeneratorrazorpage, controller e view:

Opção Descrição
--model ou -m Classe de modelo a ser usada.
--dataContext ou -dc A classe DbContext a ser usada ou o nome da classe a ser gerada.
--bootstrapVersion ou -b Especifica a versão de inicialização. Os valores válidos são 3 ou 4. O padrão é 4. Se necessário e se não estiver presente, um diretório wwwroot será criado e incluirá os arquivos de inicialização da versão especificada.
--referenceScriptLibraries ou -scripts Faz referência a bibliotecas de script nas exibições geradas. Adiciona _ValidationScriptsPartial para Editar e Criar páginas.
--layout ou -l Página de layout personalizada a ser usada.
--useDefaultLayout ou -udl Usa o layout padrão das exibições.
--force ou -f Substitui os arquivos existentes.
--relativeFolderPath ou -outDir Especifique o caminho relativo da pasta de saída do projeto em que o arquivo precisa ser gerado; se não especificado, o arquivo será gerado na pasta do projeto
--useSqlite ou -sqlite Sinalizador para especificar se DbContext deve usar SQLite em vez de SQL Server.

A tabela a seguir lista as opções exclusivas para aspnet-codegenerator controller:

Opção Descrição
--controllerName ou -name O nome do controlador.
--useAsyncActions ou -async Gera ações do controlador assíncrono.
--noViews ou -nv Não gera modos de exibição.
--restWithNoViews ou -api Gera um controlador com API estilo REST. É assumido noViews e todas as opções relacionadas à visualização são ignoradas.
--readWriteActions ou -actions Gere o controlador com ações de leitura/gravação sem um modelo.

Use o switch -h para obter ajuda sobre o comando aspnet-codegenerator controller:

dotnet aspnet-codegenerator controller -h

Confira Fazer scaffold do modelo de filme para obter um exemplo de dotnet aspnet-codegenerator controller.

Razorpage

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

Por exemplo, o comando a seguir usa o modelo Editar para gerar MyEdit.cshtml e MyEdit.cshtml.cs:

dotnet aspnet-codegenerator razorpage MyEdit Edit -m Movie -dc RazorPagesMovieContext -outDir Pages/Movies

Normalmente, o modelo e o nome de arquivo gerado não são especificados e os seguintes modelos são criados:

  • Create
  • Edit
  • Delete
  • Details
  • List

A tabela a seguir lista as opções para aspnet-codegeneratorrazorpage, controller e view:

Opção Descrição
--model ou -m Classe de modelo a ser usada.
--dataContext ou -dc A classe DbContext a ser usada ou o nome da classe a ser gerada.
--bootstrapVersion ou -b Especifica a versão de inicialização. Os valores válidos são 3 ou 4. O padrão é 4. Se necessário e se não estiver presente, um diretório wwwroot será criado e incluirá os arquivos de inicialização da versão especificada.
--referenceScriptLibraries ou -scripts Faz referência a bibliotecas de script nas exibições geradas. Adiciona _ValidationScriptsPartial para Editar e Criar páginas.
--layout ou -l Página de layout personalizada a ser usada.
--useDefaultLayout ou -udl Usa o layout padrão das exibições.
--force ou -f Substitui os arquivos existentes.
--relativeFolderPath ou -outDir Especifique o caminho relativo da pasta de saída do projeto em que o arquivo precisa ser gerado; se não especificado, o arquivo será gerado na pasta do projeto
--useSqlite ou -sqlite Sinalizador para especificar se DbContext deve usar SQLite em vez de SQL Server.

A tabela a seguir lista as opções exclusivas para aspnet-codegenerator razorpage:

Opção Descrição
--namespaceName ou -namespace O nome do namespace a ser usado no PageModel gerado
--partialView ou -partial Gere uma exibição parcial. As opções de layout -l e - udl são ignoradas, se isso for especificado.
--noPageModel ou -npm Alterne para não gerar uma classe PageModel para o modelo Vazio

Use o switch -h para obter ajuda sobre o comando aspnet-codegenerator razorpage:

dotnet aspnet-codegenerator razorpage -h

Confira Fazer scaffold do modelo de filme para obter um exemplo de dotnet aspnet-codegenerator razorpage.

Modo de exibição

As exibições podem ser geradas por scaffolding individualmente, especificando o nome da exibição e o modelo a ser usado. Os modelos com suporte são:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List

Por exemplo, o comando a seguir usa o modelo Editar para gerar MyEdit.cshtml:

dotnet aspnet-codegenerator view MyEdit Edit -m Movie -dc MovieContext -outDir Views/Movies

A tabela a seguir lista as opções para aspnet-codegeneratorrazorpage, controller e view:

Opção Descrição
--model ou -m Classe de modelo a ser usada.
--dataContext ou -dc A classe DbContext a ser usada ou o nome da classe a ser gerada.
--bootstrapVersion ou -b Especifica a versão de inicialização. Os valores válidos são 3 ou 4. O padrão é 4. Se necessário e se não estiver presente, um diretório wwwroot será criado e incluirá os arquivos de inicialização da versão especificada.
--referenceScriptLibraries ou -scripts Faz referência a bibliotecas de script nas exibições geradas. Adiciona _ValidationScriptsPartial para Editar e Criar páginas.
--layout ou -l Página de layout personalizada a ser usada.
--useDefaultLayout ou -udl Usa o layout padrão das exibições.
--force ou -f Substitui os arquivos existentes.
--relativeFolderPath ou -outDir Especifique o caminho relativo da pasta de saída do projeto em que o arquivo precisa ser gerado; se não especificado, o arquivo será gerado na pasta do projeto
--useSqlite ou -sqlite Sinalizador para especificar se DbContext deve usar SQLite em vez de SQL Server.

A tabela a seguir lista as opções exclusivas para aspnet-codegenerator view:

Opção Descrição
--controllerNamespace ou -namespace Especifica o nome do namespace a ser usado para o controlador gerado
--partialView ou -partial Gerar uma exibição parcial, outras opções de layout (-l e -udl) serão ignoradas se isso for especificado

Use o switch -h para obter ajuda sobre o comando aspnet-codegenerator view:

dotnet aspnet-codegenerator view -h

Identity

Consulte Fazer scaffold Identity