Code-Generator-Tool von ASP.NET Core (aspnet-codegenerator
)
Hinweis
Dies ist nicht die neueste Version dieses Artikels. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
Warnung
Diese Version von ASP.NET Core wird nicht mehr unterstützt. Weitere Informationen finden Sie in der Supportrichtlinie für .NET und .NET Core. Informationen zum aktuellen Release finden Sie in der .NET 8-Version dieses Artikels.
Wichtig
Diese Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Freigabe möglicherweise noch wesentlichen Änderungen unterliegt. Microsoft gibt keine Garantie, weder ausdrücklich noch impliziert, hinsichtlich der hier bereitgestellten Informationen.
Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
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 |
Generator | Vorgang |
---|---|
area |
Gerüstbau für einen Bereich |
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. DieCRUD
-Vorlage erzeugt Komponenten des TypsCreate
,Edit
,Delete
,Details
undIndex
(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 eineEdit
-Komponente (Edit.razor
) im OrdnerComponents/Pages/MoviePages
der App zu generieren. Wenn der OrdnerMoviePages
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
Ein Beispiel, in dem der Generator verwendet wird, finden Sie unter Erstellen einer Filmdatenbank-App (Übersicht).For an example that uses the blazor
generator, see Build a Blazor movie database app (Overview).
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 derApplicationDbContext
-Datenbankkontextklasse und demBackEnd.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
ASP.NET Core