Freigeben über


Code-Generator-Tool von ASP.NET Core (aspnet-codegenerator)

Der dotnet aspnet-codegenerator-Befehl führt die Gerüstbau-Engine von ASP.NET Core aus. Wenn Sie ein Gerüst über die Befehlszeile oder mithilfe von Visual Studio Code erstellen möchten, müssen Sie den dotnet aspnet-codegenerator-Befehl ausführen. Für die Gerüsterstellung mit Visual Studio ist der Befehl nicht erforderlich, denn Visual Studio enthält die Gerüst-Engine standardmäßig.

Installieren und Aktualisieren des Code-Generator-Tools

Installieren Sie das .NET SDK.

dotnet aspnet-codegenerator ist ein globales Tool, das installiert werden muss. Über den folgenden Befehl wird die neueste stabile Version des Code-Generator-Tools von ASP.NET Core installiert:

dotnet tool install -g dotnet-aspnet-codegenerator

Hinweis

Standardmäßig stellt die Architektur der zu installierenden .NET-Binärdateien die derzeit ausgeführte Betriebssystemarchitektur dar. Informationen zum Angeben einer anderen Betriebssystemarchitektur finden Sie unter dotnet tool install, --arch option. Weitere Informationen finden Sie unter GitHub Issue dotnet/docs #29262.

Wenn das Tool bereits installiert ist, wird es mit dem folgenden Befehl auf die neueste stabile Version aktualisiert, die in den installierten .NET Core-SDKs verfügbar ist:

dotnet tool update -g dotnet-aspnet-codegenerator

Deinstallieren des Code-Generator-Tools

Unter Umständen muss das ASP.NET Core Code-Generator-Tool zur Problembehebung deinstalliert werden. Wenn Sie z. B. eine Vorschauversion des Tools installiert haben, deinstallieren Sie diese, bevor Sie die endgültige Produktversion installieren.

Über die folgenden Befehle wird das Code-Generator-Tool von ASP.NET Core deinstalliert und die neueste stabile Version installiert:

dotnet tool uninstall -g dotnet-aspnet-codegenerator
dotnet tool install -g dotnet-aspnet-codegenerator

Übersicht

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]

Beschreibung

Der globale Befehl dotnet aspnet-codegenerator führt den ASP.NET Code-Codegenerator und die Gerüstbauengine aus.

Argumente

generator

Der auszuführende Codegenerator. In der folgenden Tabelle sind die verfügbaren Generator-Tools ausgeführt.

Generator Vorgang
area Gerüstbau für einen Bereich
blazor Gerüstbau für Create-, Read-, Update-, Delete- und List-Seiten (Blazor)
blazor-identity Generiert BlazorIdentity-Dateien
controller Gerüstbau für einen Controller
identity Gerüstbau für Identity
minimalapi Generiert eine Endpunktedatei (mit CRUD-API-Endpunkten), wenn ein Modell und ein optionaler Datenbankkontext übergeben wird
razorpage Gerüstbau für Razor Pages
view Gerüstbau für eine Ansicht

Optionen

-b|--build-base-path

Der Basispfad für den Build.

-c|--configuration {Debug|Release}

Legt die Buildkonfiguration fest. Der Standardwert ist Debug.

-h|--help

Druckt eine kurze Hilfe für den Befehl.

-n|--nuget-package-dir

Gibt das NuGet-Paketverzeichnis an.

--no-build

Erstellt das Projekt nicht vor der Ausführung. Durch das Übergeben von --no-build wird das Flag --no-restore implizit festgelegt.

-p|--project <PATH>

Gibt den Pfad der auszuführenden Projektdatei an (Ordnername oder vollständiger Pfad). Wenn nicht angegeben, verwendet das Tool standardmäßig das aktuelle Verzeichnis.

-tfm|--target-framework

Das zu verwendende Zielframework

Generatoroptionen

In den folgenden Abschnitte werden die verfügbaren Optionen für die unterstützten Generatoren vorgestellt:

Bereichsoptionen

Verwendung: dotnet aspnet-codegenerator area {AREA NAME}

Der Platzhalter {AREA NAME} steht für den Namen des zu generierenden Bereichs.

Der oben gezeigte Befehl generiert die folgenden Ordner:

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

Verwenden Sie die Option -h|--help, um Hilfe zu erhalten:

dotnet aspnet-codegenerator area -h

Blazor-Optionen

Gerüste für Razor-Komponenten können für Blazor-Apps jeweils einzeln erstellt werden, indem der Name der zu verwendenden Vorlage angegeben wird. Folgende Vorlagen werden unterstützt:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List
  • CRUD: CRUD ist ein Akronym für Create, Read, Update und Delete. Die CRUD-Vorlage erzeugt Komponenten des Typs Create, Edit, Delete, Details und Index (List) für die App.

Die Optionen für den blazor-Generator sind in der folgenden Tabelle aufgeführt.

Option Beschreibung
-dbProvider|--databaseProvider Der zu verwendende Datenbankanbieter. Zu den Optionen zählen sqlserver (Standard), sqlite, cosmos oder postgres.
-dc|--dataContext Die zu verwendende Datenbankkontextklasse
-m|--model Die Modellklasse, die verwendet werden soll.
-ns|--namespaceName Gibt den Namen des Namespace an, der für die generierte Endpunktedatei verwendet werden soll
--relativeFolderPath|-outDir Relativer Pfad des Ausgabeordners. Wenn dieser nicht angegeben wird, werden die Dateien im Projektordner erstellt.

Im Beispiel unten geschieht Folgendes:

  • verwendet die Edit-Vorlage, um eine Edit-Komponente (Edit.razor) im Ordner Components/Pages/MoviePages der App zu generieren. Wenn der Ordner MoviePages noch nicht erstellt wurde, holt das Tool dies automatisch nach.
  • Verwendet den Datenbankanbieter „SQLite“
  • verwendet BlazorWebAppMovies.Data.BlazorWebAppMoviesContext als Datenbankkontext
  • verwendet das Movie-Modell
dotnet aspnet-codegenerator blazor Edit -dbProvider sqlite -dc BlazorWebAppMovies.Data.BlazorWebAppMoviesContext -m Movie -outDir Components/Pages

Verwenden Sie die Option -h|--help, um Hilfe zu erhalten:

dotnet aspnet-codegenerator blazor -h

Weitere Informationen finden Sie unter ASP.NET Core Blazor QuickGrid-Komponente.

BlazorIdentity-Optionen

Diese Optionen erstellen mit dem blazor-identity-Generator aus IdentityRazor-Komponenten das Gerüst für eine Blazor-App.

Die Optionen für die blazor-identity-Vorlage sind in der folgenden Tabelle aufgeführt.

Option Beschreibung
-dbProvider|--databaseProvider Der zu verwendende Datenbankanbieter. Zu den Optionen zählen sqlserver (Standard) und sqlite.
-dc|--dataContext Die zu verwendende Datenbankkontextklasse
-f|--force Verwenden Sie diese Option, um bestehende Dateien zu überschreiben.
-fi|--files Liste der durch Semikolons getrennten Dateien, für die ein Gerüst erstellt werden soll. Verwenden Sie die Option -lf|--listFiles, um die verfügbaren Optionen anzuzeigen.
-lf|--listFiles Listet die Dateien auf, für die mithilfe der Option -fi|--files ein Gerüst erstellt werden kann
-rn|--rootNamespace Der Stammnamespace, der zum Generieren von Identity-Code verwendet werden soll
-u|--userClass Der Name der zu generierenden Benutzerklasse

Verwenden Sie die Option -h|--help, um Hilfe zu erhalten:

dotnet aspnet-codegenerator blazor-identity -h

Controlleroptionen

In der folgenden Tabelle sind die allgemeinen Optionen aufgeführt.

Option Beschreibung
-b|--bootstrapVersion Gibt die Bootstrapversion an und erstellt einen wwwroot-Ordner für die Bootstrapressourcen, wenn der Ordner nicht vorhanden ist
-dbProvider|--databaseProvider Der zu verwendende Datenbankanbieter. Zu den Optionen zählen sqlserver (Standard), sqlite, cosmos und postgres.
-dc|--dataContext Die zu verwendende Datenbankkontextklasse oder der Name der zu generierenden Klasse
-f|--force Überschreibt vorhandene Dateien.
-l|--layout Die benutzerdefinierte Layoutseite, die verwendet werden soll
-m|--model Die Modellklasse, die verwendet werden soll.
-outDir|--relativeFolderPath Relativer Pfad des Ausgabeordners. Wenn dieser nicht angegeben wird, werden die Dateien im Projektordner erstellt.
-scripts|--referenceScriptLibraries Verweist auf Skriptbibliotheken in den erstellten Ansichten. Fügt _ValidationScriptsPartial zu Edit- und Create-Seiten hinzu.
-sqlite|--useSqlite Flag, um anzugeben, ob der Datenbankkontext SQLite anstelle von SQL Server verwenden sollte
-udl|--useDefaultLayout Verwendet das Standardlayout für die Ansichten.

Die Optionen, die nur für controller gelten, sind in der folgenden Tabelle aufgeführt.

Option Beschreibung
-actions|--readWriteActions Generiert einen Controller mit Lese-/Schreibaktionen ohne Modell.
-api|--restWithNoViews Generiert einen Controller mit einer API im REST-Stil. noViews wird vorausgesetzt, und ansichtsbezogene Optionen werden ignoriert.
-async|--useAsyncActions Generiert asynchrone Controlleraktionen
-name|--controllerName Der Name des Controllers.
-namespace|--controllerNamespace Gibt den Namen des Namespace an, der für den generierten Controller verwendet werden soll
-nv|--noViews Generiert keine Ansichten.

Verwenden Sie die Option -h|--help, um Hilfe zu erhalten:

dotnet aspnet-codegenerator controller -h

Ein Beispiel, in dem der controller-Generator verwendet wird, finden Sie unter Teil 4: Hinzufügen eines Modells zu einer ASP.NET Core-MVC-App.

Identity-Optionen

Weitere Informationen finden Sie unter Gerüst Identity in ASP.NET Core-Projekten.

Optionen für die Minimal-API

Diese Optionen erstellen ein Gerüst für ein Minimal-API-Back-End mithilfe der minimalapi-Vorlage.

Die Optionen für minimalapi sind der folgenden Tabelle aufgeführt.

Option Beschreibung
-dbProvider|--databaseProvider Der zu verwendende Datenbankanbieter. Zu den Optionen zählen sqlserver (Standard), sqlite, cosmos oder postgres.
-dc|--dataContext Die zu verwendende Datenbankkontextklasse
-e|--endpoints Die zu verwendende Endpunktklasse (nicht der Dateiname)
-m|--model Die Modellklasse, die verwendet werden soll.
-namespace|--endpointsNamespace Gibt den Namens des Namespace an, der für die generierte Endpunktedatei verwendet werden soll
-o|--open Verwenden Sie diese Option, um OpenAPI zu aktivieren.
-outDir|--relativeFolderPath Relativer Pfad des Ausgabeordners. Wenn dieser nicht angegeben wird, werden die Dateien im Projektordner erstellt.
-sqlite|--useSqlite Flag, um anzugeben, ob der Datenbankkontext SQLite anstelle von SQL Server verwenden sollte

Im Beispiel unten geschieht Folgendes:

  • Generiert eine Endpunktklasse namens SpeakersEndpoints mit API-Endpunkten, die Datenbankvorgängen mithilfe der ApplicationDbContext-Datenbankkontextklasse und dem BackEnd.Models.Speaker-Modell zugeordnet werden
  • Fügt der Program-Datei (Program.cs) app.MapSpeakerEndpoints(); hinzu, um die Endpunkteklasse zu registrieren
dotnet aspnet-codegenerator minimalapi -dc ApplicationDbContext -e SpeakerEndpoints -m BackEnd.Models.Speaker -o

Verwenden Sie die Option -h|--help, um Hilfe zu erhalten:

dotnet aspnet-codegenerator minimalapi -h

Optionen für Razor Pages

Für Razor Pages können jeweils einzelne Gerüste erstellt werden, indem der Name der neuen Seite und der zu verwendenden Vorlage angegeben wird. Folgende Vorlagen werden unterstützt:

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

Typischerweise werden die Vorlage und der Name der generierten Datei nicht angegeben, wodurch die folgenden Vorlagen erstellt werden:

  • Create
  • Edit
  • Delete
  • Details
  • List

In der folgenden Tabelle sind die allgemeinen Optionen aufgeführt.

Option Beschreibung
-b|--bootstrapVersion Gibt die Bootstrapversion an und erstellt einen wwwroot-Ordner für die Bootstrapressourcen, wenn der Ordner nicht vorhanden ist
-dbProvider|--databaseProvider Der zu verwendende Datenbankanbieter. Zu den Optionen zählen sqlserver (Standard), sqlite, cosmos und postgres.
-dc|--dataContext Die zu verwendende Datenbankkontextklasse oder der Name der zu generierenden Klasse
-f|--force Überschreibt vorhandene Dateien.
-l|--layout Die benutzerdefinierte Layoutseite, die verwendet werden soll
-m|--model Die Modellklasse, die verwendet werden soll.
-outDir|--relativeFolderPath Relativer Pfad des Ausgabeordners. Wenn dieser nicht angegeben wird, werden die Dateien im Projektordner erstellt.
-scripts|--referenceScriptLibraries Verweist auf Skriptbibliotheken in den erstellten Ansichten. Fügt _ValidationScriptsPartial zu Edit- und Create-Seiten hinzu.
-sqlite|--useSqlite Flag, um anzugeben, ob der Datenbankkontext SQLite anstelle von SQL Server verwenden sollte
-udl|--useDefaultLayout Verwendet das Standardlayout für die Ansichten.

Die Optionen, die nur für razorpage gelten, sind in der folgenden Tabelle aufgeführt.

Option Beschreibung
-namespace|--namespaceName Der Name des Namespace, der für die generierte PageModel-Klasse verwendet werden soll
-npm|--noPageModel Es wird keine PageModel-Klasse für die Empty-Vorlage generiert.
-partial|--partialView Generiert eine Teilansicht. Die Layoutoptionen -l und -udl werden ignoriert, wenn diese Option angegeben wird.

Im folgenden Beispiel wird die Edit-Vorlage verwendet, um CustomEditPage.cshtml und CustomEditPage.cshtml.cs im Pages/Movies-Ordner zu generieren:

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

Verwenden Sie die Option -h|--help, um Hilfe zu erhalten:

dotnet aspnet-codegenerator razorpage -h

Ein Beispiel, in dem der razorpage-Generator verwendet wird, finden Sie unter Teil 2: Hinzufügen eines Modells.

Anzeigen der Optionen

Für Ansichten können jeweils einzelne Gerüste erstellt werden, indem der Name der Ansicht und die Vorlage angegeben werden. Folgende Vorlagen werden unterstützt:

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

In der folgenden Tabelle sind die allgemeinen Optionen aufgeführt.

Option Beschreibung
-b|--bootstrapVersion Gibt die Bootstrapversion an und erstellt einen wwwroot-Ordner für die Bootstrapressourcen, wenn der Ordner nicht vorhanden ist
-dbProvider|--databaseProvider Der zu verwendende Datenbankanbieter. Zu den Optionen zählen sqlserver (Standard), sqlite, cosmos und postgres.
-dc|--dataContext Die zu verwendende Datenbankkontextklasse oder der Name der zu generierenden Klasse
-f|--force Überschreibt vorhandene Dateien.
-l|--layout Die benutzerdefinierte Layoutseite, die verwendet werden soll
-m|--model Die Modellklasse, die verwendet werden soll.
-outDir|--relativeFolderPath Relativer Pfad des Ausgabeordners. Wenn dieser nicht angegeben wird, werden die Dateien im Projektordner erstellt.
-scripts|--referenceScriptLibraries Verweist auf Skriptbibliotheken in den erstellten Ansichten. Fügt _ValidationScriptsPartial zu Edit- und Create-Seiten hinzu.
-sqlite|--useSqlite Flag, um anzugeben, ob der Datenbankkontext SQLite anstelle von SQL Server verwenden sollte
-udl|--useDefaultLayout Verwendet das Standardlayout für die Ansichten.

Die Optionen, die nur für view gelten, sind in der folgenden Tabelle aufgeführt.

Option Beschreibung
-namespace|--controllerNamespace Gibt den Namen des Namespace an, der für den generierten Controller verwendet werden soll
-partial|--partialView Generiert eine Teilansicht. Andere Layoutoptionen (-l und -udl) werden ignoriert, wenn diese Option angegeben wird.

Im folgenden Beispiel wird die Edit-Vorlage verwendet, um CustomEditView.cshtml im Views/Movies-Ordner zu generieren:

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

Verwenden Sie die Option -h|--help, um Hilfe zu erhalten:

dotnet aspnet-codegenerator view -h