Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Code-Generator-Tool von ASP.NET Core (
Note
Dies ist nicht die neueste Version dieses Artikels. Die aktuelle Version finden Sie in der .NET 10-Version dieses Artikels.
Warning
Diese Version von ASP.NET Core wird nicht mehr unterstützt. Weitere Informationen finden Sie in der .NET- und .NET Core-Supportrichtlinie. Die aktuelle Version finden Sie in der .NET 10-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
Note
Standardmäßig stellt die Architektur der zu installierenden .NET Binärdateien die derzeit ausgeführte Betriebssystemarchitektur dar.
Wenn Sie eine andere Architektur angeben möchten, überprüfen Sie, wie Sie den dotnet tool install Befehl mit der Option "--arch" verwenden.
Weitere Informationen finden Sie unter GitHub dotnet/aspnetcore.docs issue #29262 - Fügen Sie auf Apple Silicon „-a arm64“ hinzu.
Wenn das Tool bereits installiert ist, aktualisiert der folgende Befehl das Tool auf die neueste stabile Version, die über die installierten .NET-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
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
Der globale Befehl dotnet aspnet-codegenerator führt den ASP.NET Core-Codegenerator und die Scaffolding-Engine aus.
Arguments
generator
Der auszuführende Codegenerator. Die verfügbaren Generatoren sind in der folgenden Tabelle aufgeführt.
| Generator | Operation |
|---|---|
area |
Erstellt ein Grundgerüst für einen Bereich |
blazor |
Gerüste zum Erstellen, Lesen, Aktualisieren, Löschen und Auflisten von SeitenBlazor |
blazor-identity |
Generiert BlazorIdentity-Dateien |
controller |
Erstellt ein Gerüst für einen Controller |
identity |
Gerüste Identity. |
minimalapi |
Generiert eine Endpunktedatei (mit CRUD-API-Endpunkten), wenn ein Modell und ein optionaler Datenbankkontext übergeben wird |
razorpage |
Scaffold-Seiten Razor |
view |
Erstellt ein Gerüst für eine Ansicht |
| Generator | Operation |
|---|---|
area |
Erstellt ein Grundgerüst für einen Bereich |
controller |
Erstellt ein Grundgerüst für einen Controller |
identity |
Gerüste Identity. |
minimalapi |
Generiert eine Endpunktedatei (mit CRUD-API-Endpunkten), wenn ein Modell und ein optionaler Datenbankkontext übergeben wird |
razorpage |
Gerüste Razor Seiten |
view |
Erstellt das Grundgerüst für eine Ansicht |
Options
-b|--build-base-path
Der Basispfad für den Build.
-c|--configuration {Debug|Release}
Legt die Buildkonfiguration fest. Der Standardwert ist Debug.
-h|--help
Gibt eine kurze Hilfemeldung für den Befehl aus.
-n|--nuget-package-dir
Gibt das NuGet-Paketverzeichnis an.
--no-build
Erstellt das Projekt nicht vor dem Ausführen. Durch das Übergeben von --no-build wird auch implizit das Flag --no-restore gesetzt.
-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 Ziel-Framework
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}ControllersDataModelsViews
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:
EmptyCreateEditDeleteDetailsList-
CRUD: CRUD ist ein Akronym für Create, Read, Update und Delete. DieCRUD-Vorlage erzeugt Komponenten des TypsCreate,Edit,Delete,DetailsundIndex(List) für die App.
Die Optionen für den blazor-Generator sind in der folgenden Tabelle aufgeführt.
| Option | Description |
|---|---|
-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 |
Geben Sie den Namen des Namespace an, der für die generierte Endpoints-Datei verwendet werden soll. |
--relativeFolderPath|-outDir |
Relativer Pfad des Ausgabeordners. Wenn dieser nicht angegeben wird, werden die Dateien im Projektordner erstellt. |
Das folgende Beispiel:
- verwendet die
Edit-Vorlage, um eineEdit-Komponente (Edit.razor) im OrdnerComponents/Pages/MoviePagesder App zu generieren. Wenn der OrdnerMoviePagesnoch nicht erstellt wurde, holt das Tool dies automatisch nach. - Verwendet den Datenbankanbieter „SQLite“
- verwendet
BlazorWebAppMovies.Data.BlazorWebAppMoviesContextals 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' Component.
Blazor Identity-Optionen
Erstellen Sie mit dem blazor-identity-Generator aus IdentityRazor-Komponenten eine Blazor-App.
Die Optionen für die blazor-identity-Vorlage sind in der folgenden Tabelle aufgeführt.
| Option | Description |
|---|---|
-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 | Description |
|---|---|
-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 | Description |
|---|---|
-actions|--readWriteActions |
Controller mit Lese- und Schreibaktionen ohne ein Modell generieren. |
-api|--restWithNoViews |
Generiert einen Controller mit einer API im REST-Stil.
noViews wird angenommen und alle ansichtsbezogenen 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
Erstellen Sie mit der Vorlage minimalapi ein Minimal-API-Backend.
Die Optionen für minimalapi sind in der folgenden Tabelle aufgeführt.
| Option | Description |
|---|---|
-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 |
Geben Sie den Namen des Namespace an, der für die Datei mit den generierten Endpunkten 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 |
Das folgende Beispiel:
- Generiert eine Endpunktklasse namens
SpeakersEndpointsmit API-Endpunkten, die Datenbankvorgängen mithilfe derApplicationDbContext-Datenbankkontextklasse und demBackEnd.Models.Speaker-Modell zugeordnet werden - Fügt der
app.MapSpeakerEndpoints();-Datei (Program)Program.cshinzu, 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
Razor Seitenoptionen
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:
EmptyCreateEditDeleteDetailsList
Typischerweise werden die Vorlage und der Name der generierten Datei nicht angegeben, wodurch die folgenden Vorlagen erstellt werden:
CreateEditDeleteDetailsList
In der folgenden Tabelle sind die allgemeinen Optionen aufgeführt.
| Option | Description |
|---|---|
-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 | Description |
|---|---|
-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.
Optionen anzeigen
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:
EmptyCreateEditDeleteDetailsList
In der folgenden Tabelle sind die allgemeinen Optionen aufgeführt.
| Option | Description |
|---|---|
-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 | Description |
|---|---|
-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