strumento di generazione del codice di ASP.NET Core (aspnet-codegenerator)

Note

Questa non è la versione più recente di questo articolo. Per la versione corrente, vedere la versione .NET 10 di questo articolo.

Warning

Questa versione di ASP.NET Core non è più supportata. Per altre informazioni, vedere i criteri di supporto di .NET e .NET Core. Per la versione corrente, vedere la versione .NET 10 di questo articolo.

Il comando dotnet aspnet-codegenerator esegue il motore di scaffolding di ASP.NET Core. L'esecuzione del comando dotnet aspnet-codegenerator è necessaria per generare il codice di scaffolding dalla riga di comando o quando si utilizza Visual Studio Code. Il comando non è necessario per usare lo scaffolding con Visual Studio, che include il motore di scaffolding per impostazione predefinita.

Installare e aggiornare lo strumento generatore di codice

Installare .NET SDK.

dotnet aspnet-codegenerator è uno strumento global che deve essere installato. Il comando seguente installa la versione stabile più recente dello strumento generatore di codice core ASP.NET:

dotnet tool install -g dotnet-aspnet-codegenerator

Note

Per impostazione predefinita, l'architettura dei file binari .NET da installare rappresenta l'architettura del sistema operativo attualmente in esecuzione. Per specificare un'architettura diversa, vedere come usare il dotnet tool install comando con l'opzione '--arch'. Per ulteriori informazioni, vedere GitHub dotnet/aspnetcore.docs problema n. 29262 - Aggiungere '-a arm64' su Apple Silicon.

Se lo strumento è già installato, il comando seguente aggiorna lo strumento alla versione stabile più recente disponibile dagli SDK .NET installati:

dotnet tool update -g dotnet-aspnet-codegenerator

Disinstallare lo strumento generatore di codice

Potrebbe essere necessario disinstallare lo strumento generatore di codice core ASP.NET per risolvere i problemi. Ad esempio, se è stata installata una versione di anteprima dello strumento, disinstallarla prima di installare la versione rilasciata.

I comandi seguenti disinstallano lo strumento generatore di codice core ASP.NET e installano la versione stabile più 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

Il comando globale dotnet aspnet-codegenerator esegue il generatore di codice e il motore di scaffolding di ASP.NET Core.

Arguments

generator

Il generatore di codice da eseguire. I generatori disponibili sono illustrati nella tabella seguente.

Generator Operation
area Crea la struttura di un'area.
blazor Gli scaffolding Blazor creano, leggono, aggiornano, eliminano ed elencano le pagine.
blazor-identity Genera BlazorIdentity file.
controller Genera uno scaffold per un controller.
identity Scaffold Identity.
minimalapi Genera un file di endpoint (con endpoint API CRUD) in base a un modello e a un contesto di database facoltativo.
razorpage Modelli di paginaRazor.
view Genera una vista tramite scaffolding.
Generator Operation
area Crea la struttura di base di un'area.
controller Genera l'impalcatura per un controller.
identity Scaffolding Identity.
minimalapi Genera un file di endpoint (con endpoint API CRUD) in base a un modello e a un contesto di database facoltativo.
razorpage Pagine di impalcature Razor.
view Esegue lo scaffolding di una vista.

Options

-b|--build-base-path

Il percorso di base della build.

-c|--configuration {Debug|Release}

Definisce la configurazione di compilazione. Il valore predefinito è Debug.

-h|--help

Mostra un breve aiuto per il comando.

-n|--nuget-package-dir

Specifica la directory del pacchetto NuGet.

--no-build

Non compila il progetto prima dell'esecuzione. Il passaggio --no-build imposta anche in modo implicito il --no-restore flag.

-p|--project <PATH>

Specifica il percorso del file di progetto da eseguire: nome della cartella o percorso completo. Se non specificato, lo strumento usa per impostazione predefinita la directory corrente.

-tfm|--target-framework

Il framework di destinazione da utilizzare.

Opzioni del generatore

Nelle sezioni seguenti vengono descritte in dettaglio le opzioni disponibili per i generatori supportati:

Opzioni dell'area

Utilizzo: dotnet aspnet-codegenerator area {AREA NAME}

Il {AREA NAME} segnaposto è il nome dell'area da generare.

Il comando precedente genera le cartelle seguenti:

  • Areas
    • {AREA NAME}
      • Controllers
      • Data
      • Models
      • Views

Usare l'opzione -h|--help per la guida:

dotnet aspnet-codegenerator area -h

Opzioni Blazor

Razor è possibile generare singolarmente i componenti per le app Blazor specificando il nome del template da usare. I modelli supportati sono:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List
  • CRUD: CRUD è un acronimo di Create, Read, Update e Delete. Il template produce componenti Create, Edit, Delete, Details e Index (List) per l'app CRUD.

Le opzioni per il blazor generatore sono illustrate nella tabella seguente.

Option Description
-dbProvider|--databaseProvider Fornitore del database da usare. Le opzioni includono sqlserver (impostazione predefinita), sqlite, cosmoso postgres.
-dc|--dataContext Classe di contesto del database da usare.
-m|--model Classe di modelli da usare.
-ns|--namespaceName Specificare il nome dello spazio dei nomi da usare per il file endpoint generato.
--relativeFolderPath|-outDir Percorso relativo della cartella di output Se non è specificato, i file vengono generati nella cartella del progetto.

L'esempio seguente:

  • Usa il Edit modello per generare un Edit componente (Edit.razor) nella Components/Pages/MoviePages cartella dell'app. Se la MoviePages cartella non esiste, lo strumento crea automaticamente la cartella.
  • Usa il provider di database SQLite.
  • Usa BlazorWebAppMovies.Data.BlazorWebAppMoviesContext come contesto del database.
  • Usa il Movie modello.
dotnet aspnet-codegenerator blazor Edit -dbProvider sqlite -dc BlazorWebAppMovies.Data.BlazorWebAppMoviesContext -m Movie -outDir Components/Pages

Usare l'opzione -h|--help per la guida:

dotnet aspnet-codegenerator blazor -h

Per un esempio che usa il generatore blazor, vedi Creare un'app per database di film Blazor(Panoramica).

Per ulteriori informazioni, vedere ASP.NET Core Blazor `QuickGrid` componente.

Opzioni BlazorIdentity

Integra i componenti IdentityRazor in un'app Blazor con il generatore blazor-identity.

Le opzioni per il blazor-identity modello sono illustrate nella tabella seguente.

Option Description
-dbProvider|--databaseProvider Fornitore del database da usare. Le opzioni includono sqlserver (impostazione predefinita) e sqlite.
-dc|--dataContext Classe di contesto del database da usare.
-f|--force Usare questa opzione per sovrascrivere i file esistenti.
-fi|--files Elenco di file separati da punto e virgola per cui eseguire lo scaffolding. Usare l'opzione -lf|--listFiles per visualizzare le opzioni disponibili.
-lf|--listFiles Elenca i file che possono essere generati utilizzando l'opzione -fi|--files.
-rn|--rootNamespace Namespace radice da usare per generare codice Identity.
-u|--userClass Nome della classe utente da generare.

Usare l'opzione -h|--help per la guida:

dotnet aspnet-codegenerator blazor-identity -h

Opzioni controller

Le opzioni generali sono illustrate nella tabella seguente.

Option Description
-b|--bootstrapVersion Specifica la versione bootstrap e crea una wwwroot cartella per gli asset bootstrap se la cartella non è presente.
-dbProvider|--databaseProvider Fornitore del database da usare. Le opzioni includono sqlserver (impostazione predefinita), sqlite, cosmos, postgres.
-dc|--dataContext Classe di contesto del database da utilizzare o il nome della classe da generare.
-f|--force Sovrascrivere i file esistenti.
-l|--layout Pagina di layout personalizzata da usare.
-m|--model Classe di modelli da usare.
-outDir|--relativeFolderPath Percorso relativo della cartella di output Se non è specificato, i file vengono generati nella cartella del progetto.
-scripts|--referenceScriptLibraries Librerie di script di riferimento nelle viste generate. Aggiunge _ValidationScriptsPartial a Edit e Create pagine.
-sqlite|--useSqlite Flag per specificare se il contesto del database deve usare SQLite anziché SQL Server.
-udl|--useDefaultLayout Usare il layout predefinito per le viste.

Le opzioni univoche per controller sono illustrate nella tabella seguente.

Option Description
-actions|--readWriteActions Genera un controller con azioni di lettura/scrittura senza un modello.
-api|--restWithNoViews Generare un controller con API in stile REST. Si presuppone noViews e qualsiasi opzione correlata alla visualizzazione viene ignorata.
-async|--useAsyncActions Generare azioni del controller asincrone.
-name|--controllerName Nome del controller.
-namespace|--controllerNamespace Specificare il nome dello spazio dei nomi da usare per il controller generato.
-nv|--noViews Genera nessuna vista.

Usare l'opzione -h|--help per la guida:

dotnet aspnet-codegenerator controller -h

Per un esempio che utilizza il generatore controller, vedere Parte 4: aggiungere un modello a un'app MVC ASP.NET Core.

Opzioni Identity

Per altre informazioni, vedere Scaffolding Identity nei progetti ASP.NET Core.

Opzioni API minime

Creare un backend di API minimale con il modello minimalapi.

Le opzioni per minimalapi sono illustrate nella tabella seguente.

Option Description
-dbProvider|--databaseProvider Fornitore del database da usare. Le opzioni includono sqlserver (impostazione predefinita), sqlite, cosmoso postgres.
-dc|--dataContext Classe di contesto del database da usare.
-e|--endpoints Classe Endpoints da usare (non il nome file).
-m|--model Classe di modelli da usare.
-namespace|--endpointsNamespace Specificare il nome dello spazio dei nomi da utilizzare per il file degli endpoint generato.
-o|--open Usare questa opzione per abilitare OpenAPI.
-outDir|--relativeFolderPath Percorso relativo della cartella di output Se non è specificato, i file vengono generati nella cartella del progetto.
-sqlite|--useSqlite Flag per specificare se il contesto del database deve usare SQLite anziché SQL Server.

L'esempio seguente:

  • Genera una classe di endpoint denominata SpeakersEndpoints con endpoint API che corrispondono alle operazioni del database usando la classe di contesto del database ApplicationDbContext e il modello BackEnd.Models.Speaker.
  • Aggiunge app.MapSpeakerEndpoints(); al Program file (Program.cs) per registrare la classe endpoint.
dotnet aspnet-codegenerator minimalapi -dc ApplicationDbContext -e SpeakerEndpoints -m BackEnd.Models.Speaker -o

Usare l'opzione -h|--help per la guida:

dotnet aspnet-codegenerator minimalapi -h

Razor opzioni pagina

Razor Le pagine possono essere generate singolarmente specificando il nome della nuova pagina e il modello da usare. I modelli supportati sono:

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

In genere, il modello e il nome file generato non vengono specificati, che crea i modelli seguenti:

  • Create
  • Edit
  • Delete
  • Details
  • List

Le opzioni generali sono illustrate nella tabella seguente.

Option Description
-b|--bootstrapVersion Specifica la versione bootstrap e crea una wwwroot cartella per gli asset bootstrap se la cartella non è presente.
-dbProvider|--databaseProvider Provider di database da usare. Le opzioni includono sqlserver (impostazione predefinita), sqlite, cosmos, postgres.
-dc|--dataContext Classe di contesto del database da utilizzare o il nome della classe da generare.
-f|--force Sovrascrivere i file esistenti.
-l|--layout Pagina di layout personalizzata da usare.
-m|--model Classe di modelli da usare.
-outDir|--relativeFolderPath Percorso relativo della cartella di output. Se non è specificato, i file vengono generati nella cartella del progetto.
-scripts|--referenceScriptLibraries Librerie di script di riferimento nelle viste generate. Aggiunge _ValidationScriptsPartial a Edit e Create pagine.
-sqlite|--useSqlite Flag per specificare se il contesto del database deve usare SQLite anziché SQL Server.
-udl|--useDefaultLayout Usare il layout predefinito per le viste.

Le opzioni univoche per razorpage sono illustrate nella tabella seguente.

Option Description
-namespace|--namespaceName Nome dello spazio dei nomi da usare per la classe generata PageModel .
-npm|--noPageModel Non generare una PageModel classe per il Empty modello.
-partial|--partialView Genera una visualizzazione parziale. Le opzioni -l di layout e -udl vengono ignorate se questa opzione è specificata.

Nell'esempio seguente viene usato il Edit modello per generare CustomEditPage.cshtml e CustomEditPage.cshtml.cs nella Pages/Movies cartella :

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

Usare l'opzione -h|--help per assistenza:

dotnet aspnet-codegenerator razorpage -h

Per un esempio che usa il razorpage generatore, vedere Parte 2, aggiungere un modello.

Opzioni di visualizzazione

Le viste possono essere generate singolarmente specificando il nome della vista e il modello. I modelli supportati sono:

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

Le opzioni generali sono illustrate nella tabella seguente.

Option Description
-b|--bootstrapVersion Specifica la versione bootstrap e crea una wwwroot cartella per gli asset bootstrap se la cartella non è presente.
-dbProvider|--databaseProvider Fornitore del database da usare. Le opzioni includono sqlserver (impostazione predefinita), sqlite, cosmos, postgres.
-dc|--dataContext Classe di contesto del database da utilizzare o il nome della classe da generare.
-f|--force Sovrascrivere i file esistenti.
-l|--layout Pagina di layout personalizzata da usare.
-m|--model Classe di modelli da usare.
-outDir|--relativeFolderPath Percorso relativo della cartella di output Se non è specificato, i file vengono generati nella cartella del progetto.
-scripts|--referenceScriptLibraries Librerie di script di riferimento nelle viste generate. Aggiunge _ValidationScriptsPartial a Edit e Create pagine.
-sqlite|--useSqlite Flag per specificare se il contesto del database deve usare SQLite anziché SQL Server.
-udl|--useDefaultLayout Usare il layout predefinito per le viste.

Le opzioni univoche per view sono illustrate nella tabella seguente.

Option Description
-namespace|--controllerNamespace Specificare il nome dello spazio dei nomi da usare per il controller generato.
-partial|--partialView Genera una visualizzazione parziale. Altre opzioni di layout (-l e -udl) vengono ignorate se questa opzione è specificata.

Nell'esempio seguente viene usato il Edit modello per generare CustomEditView.cshtml nella Views/Movies cartella :

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

Usare l'opzione -h|--help per la guida:

dotnet aspnet-codegenerator view -h