Delen via


ASP.NET Core-tool voor codegeneratie (aspnet-codegenerator)

Note

Dit is niet de nieuwste versie van dit artikel. Zie de .NET 9-versie van dit artikelvoor de huidige release.

Warning

Deze versie van ASP.NET Core wordt niet meer ondersteund. Zie de .NET- en .NET Core-ondersteuningsbeleidvoor meer informatie. Zie de .NET 9-versie van dit artikelvoor de huidige release.

Important

Deze informatie heeft betrekking op een pre-releaseproduct dat aanzienlijk kan worden gewijzigd voordat het commercieel wordt uitgebracht. Microsoft geeft geen garanties, uitdrukkelijk of impliciet, met betrekking tot de informatie die hier wordt verstrekt.

Zie de .NET 9-versie van dit artikelvoor de huidige release.

Met de opdracht dotnet aspnet-codegenerator wordt de ASP.NET Core-scaffolding-engine uitgevoerd. Het uitvoeren van de opdracht dotnet aspnet-codegenerator is vereist om vanaf de opdrachtregel of bij het gebruik van Visual Studio Code een scaffold te genereren. De opdracht is niet vereist voor het gebruik van scaffolding met Visual Studio, dat standaard de scaffolding-engine bevat.

Het hulpprogramma voor het genereren van code installeren en bijwerken

Installeer de .NET SDK-.

dotnet aspnet-codegenerator is een algemeen hulpprogramma dat moet worden geïnstalleerd. Met de volgende opdracht wordt de meest recente stabiele versie van het hulpprogramma ASP.NET Core-codegenerator geïnstalleerd:

dotnet tool install -g dotnet-aspnet-codegenerator

Note

De architectuur van de binaire .NET-bestanden die moeten worden geïnstalleerd, vertegenwoordigt standaard de huidige besturingssysteemarchitectuur. Zie dotnet tool install, --arch optionom een andere besturingssysteemarchitectuur op te geven. Zie GitHub-probleem dotnet/AspNetCore.Docs #29262voor meer informatie.

Als het hulpprogramma al is geïnstalleerd, werkt de volgende opdracht het hulpprogramma bij naar de nieuwste stabiele versie die beschikbaar is via de geïnstalleerde .NET SDK's:

dotnet tool update -g dotnet-aspnet-codegenerator

Het hulpprogramma voor het genereren van code verwijderen

Het kan nodig zijn om het hulpprogramma voor het genereren van ASP.NET Core-code te verwijderen om problemen op te lossen. Als u bijvoorbeeld een preview-versie van het hulpprogramma hebt geïnstalleerd, verwijdert u deze voordat u de uitgebrachte versie installeert.

Met de volgende opdrachten verwijdert u het hulpprogramma ASP.NET Core-codegenerator en installeert u de nieuwste stabiele versie:

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

Met de dotnet aspnet-codegenerator globale opdracht wordt de ASP.NET Core-codegenerator en de scaffolding-engine uitgevoerd.

Arguments

generator

De codegenerator die moet worden uitgevoerd. De beschikbare generatoren worden weergegeven in de volgende tabel.

Generator Operation
area Ondersteunt een gebied.
blazor scaffolds Blazor pagina's maken, lezen, bijwerken, verwijderen en lijstpagina's.
blazor-identity Hiermee worden BlazorIdentity bestanden gegenereerd.
controller Genereert een controller.
identity scaffolds Identity.
minimalapi Genereert een eindpuntbestand (met CRUD API-eindpunten) op basis van een model en optionele databasecontext.
razorpage Steigers Razor Pagina's.
view Scaffolds een weergave.
Generator Operation
area Ondersteunt een gebied.
controller Genereert een controller.
identity scaffolds Identity.
minimalapi Genereert een eindpuntbestand (met CRUD API-eindpunten) op basis van een model en optionele databasecontext.
razorpage Steigers Razor Pagina's.
view Scaffolds een weergave.

Options

-b|--build-base-path

Het basispad voor de build.

-c|--configuration {Debug|Release}

Definieert de buildconfiguratie. De standaardwaarde is Debug.

-h|--help

Hiermee drukt u een kort hulpbericht voor het commando af.

-n|--nuget-package-dir

Specificeert de NuGet-pakketdirectory.

--no-build

Bouwt het project niet voordat het wordt uitgevoerd. Als u --no-build doorgeeft, wordt de --no-restore vlag ook impliciet ingesteld.

-p|--project <PATH>

Hiermee geeft u het pad van het projectbestand dat moet worden uitgevoerd (mapnaam of volledig pad). Als dit niet is opgegeven, wordt het hulpprogramma standaard ingesteld op de huidige map.

-tfm|--target-framework

Het te gebruiken doelframework .

Generator options

In de volgende secties worden de opties beschreven die beschikbaar zijn voor de ondersteunde generatoren:

Area options

Gebruik: dotnet aspnet-codegenerator area {AREA NAME}

De tijdelijke aanduiding {AREA NAME} is de naam van het gebied dat moet worden gegenereerd.

Met de voorgaande opdracht worden de volgende mappen gegenereerd:

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

Gebruik de optie -h|--help voor hulp:

dotnet aspnet-codegenerator area -h

Blazor opties

Razor onderdelen kunnen afzonderlijk worden ingericht voor Blazor apps door de naam op te geven van de sjabloon die moet worden gebruikt. De ondersteunde sjablonen zijn:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List
  • CRUD: CRUD- is een acroniem voor Maken, Lezen, Bijwerken en Verwijderen. De sjabloon CRUD produceert Create, Edit, Delete, Detailsen Index (List) onderdelen voor de app.

De opties voor de blazor generator worden weergegeven in de volgende tabel.

Option Description
-dbProvider|--databaseProvider Databaseprovider om te gebruiken. Opties zijn onder andere sqlserver (standaard), sqlite, cosmosof postgres.
-dc|--dataContext Te gebruiken databasecontextklasse.
-m|--model Modelklasse die moet worden gebruikt.
-ns|--namespaceName Geef de naam op van de naamruimte die moet worden gebruikt voor het gegenereerde eindpuntbestand.
--relativeFolderPath|-outDir Pad naar relatieve uitvoermap. Als dit niet is opgegeven, worden bestanden gegenereerd in de projectmap.

Het volgende voorbeeld:

  • Hiermee wordt de Edit-sjabloon gebruikt om een Edit-onderdeel (Edit.razor) te genereren in de map Components/Pages/MoviePages van de app. Als de map MoviePages niet bestaat, wordt de map automatisch gemaakt.
  • Maakt gebruik van de SQLite-databaseprovider.
  • Gebruikt BlazorWebAppMovies.Data.BlazorWebAppMoviesContext voor de databasecontext.
  • Maakt gebruik van het Movie-model.
dotnet aspnet-codegenerator blazor Edit -dbProvider sqlite -dc BlazorWebAppMovies.Data.BlazorWebAppMoviesContext -m Movie -outDir Components/Pages

Gebruik de optie -h|--help voor hulp:

dotnet aspnet-codegenerator blazor -h

Zie blazorvoor een voorbeeld dat gebruikmaakt van de Blazor generator.

Zie ASP.NET Core BlazorQuickGridcomponentvoor meer informatie.

opties voor BlazorIdentity

Scaffold IdentityRazor onderdelen in een Blazor-app met de blazor-identity generator.

De opties voor de sjabloon blazor-identity worden weergegeven in de volgende tabel.

Option Description
-dbProvider|--databaseProvider Databaseprovider om te gebruiken. Opties zijn onder andere sqlserver (standaard) en sqlite.
-dc|--dataContext Te gebruiken databasecontextklasse.
-f|--force Gebruik deze optie om bestaande bestanden te overschrijven.
-fi|--files Lijst met door puntkomma's gescheiden bestanden voor scaffold. Gebruik de optie -lf|--listFiles om de beschikbare opties weer te geven.
-lf|--listFiles Geeft een lijst weer van de bestanden die kunnen worden ge scaffolded met behulp van de optie -fi|--files.
-rn|--rootNamespace Hoofdnaamruimte die moet worden gebruikt voor het genereren van Identity code.
-u|--userClass De naam van de gebruikersklasse die moet worden gegenereerd.

Gebruik de optie -h|--help voor hulp:

dotnet aspnet-codegenerator blazor-identity -h

Controller options

Algemene opties worden weergegeven in de volgende tabel.

Option Description
-b|--bootstrapVersion Specificeert de bootstrap-versie en maakt een wwwroot map voor de Bootstrap-assets als deze map niet aanwezig is.
-dbProvider|--databaseProvider Databaseprovider om te gebruiken. Opties zijn onder andere sqlserver (standaard), sqlite, cosmos, postgres.
-dc|--dataContext De databasecontextklasse die moet worden gebruikt of de naam van de klasse die moet worden gegenereerd.
-f|--force Bestaande bestanden overschrijven.
-l|--layout Aangepaste indelingspagina die moet worden gebruikt.
-m|--model Modelklasse die moet worden gebruikt.
-outDir|--relativeFolderPath Pad naar relatieve uitvoermap. Als dit niet is opgegeven, worden bestanden gegenereerd in de projectmap.
-scripts|--referenceScriptLibraries Verwijs naar scriptbibliotheken in de gegenereerde weergaven. Voegt _ValidationScriptsPartial toe aan Edit en Create pagina's.
-sqlite|--useSqlite Vlag om op te geven of de databasecontext SQLite moet gebruiken in plaats van SQL Server.
-udl|--useDefaultLayout Gebruik de standaardindeling voor de weergaven.

De opties die uniek zijn voor controller worden weergegeven in de volgende tabel.

Option Description
-actions|--readWriteActions Een controller genereren met lees-/schrijfacties zonder een model.
-api|--restWithNoViews Genereer een controller met REST stijl-API. Er wordt aangenomen dat noViews geldt, en alle weergave-gerelateerde opties worden genegeerd.
-async|--useAsyncActions Asynchrone controlleracties genereren.
-name|--controllerName Naam van de controller.
-namespace|--controllerNamespace Geef de naam op van de naamruimte die moet worden gebruikt voor de gegenereerde controller.
-nv|--noViews Genereer geen weergaven.

Gebruik de optie -h|--help voor hulp:

dotnet aspnet-codegenerator controller -h

Zie deel 4 voor een voorbeeld waarin de controller-generator wordt gebruikt, een model toevoegen aan een ASP.NET Core MVC-app.

Identity opties

Zie Scaffold Identity in ASP.NET Core-projectenvoor meer informatie.

Minimale API-opties

Maak een Minimal API-backend met de minimalapi-sjabloon.

De opties voor minimalapi worden weergegeven in de volgende tabel.

Option Description
-dbProvider|--databaseProvider Databaseprovider om te gebruiken. Opties zijn onder andere sqlserver (standaard), sqlite, cosmosof postgres.
-dc|--dataContext Te gebruiken databasecontextklasse.
-e|--endpoints Eindpuntklasse die moet worden gebruikt (niet de bestandsnaam).
-m|--model Modelklasse die moet worden gebruikt.
-namespace|--endpointsNamespace Geef de naam op van de naamruimte die moet worden gebruikt voor het gegenereerde eindpuntbestand.
-o|--open Gebruik deze optie om OpenAPI in te schakelen.
-outDir|--relativeFolderPath Pad naar relatieve uitvoermap. Als dit niet is opgegeven, worden bestanden gegenereerd in de projectmap.
-sqlite|--useSqlite Vlag om op te geven of de databasecontext SQLite moet gebruiken in plaats van SQL Server.

Het volgende voorbeeld:

  • Hiermee genereert u een eindpuntklasse met de naam SpeakersEndpoints met API-eindpunten die worden toegewezen aan databasebewerkingen met behulp van de contextklasse van de ApplicationDbContext-database en het BackEnd.Models.Speaker-model.
  • Voegt app.MapSpeakerEndpoints(); toe aan het Program-bestand (Program.cs) om de eindpuntklasse te registreren.
dotnet aspnet-codegenerator minimalapi -dc ApplicationDbContext -e SpeakerEndpoints -m BackEnd.Models.Speaker -o

Gebruik de optie -h|--help voor hulp:

dotnet aspnet-codegenerator minimalapi -h

Razor paginaopties

Razor Pagina's kunnen afzonderlijk worden ingericht door de naam van de nieuwe pagina en de te gebruiken sjabloon op te geven. De ondersteunde sjablonen zijn:

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

Normaal gesproken wordt de sjabloon en gegenereerde bestandsnaam niet opgegeven, waardoor de volgende sjablonen worden gemaakt:

  • Create
  • Edit
  • Delete
  • Details
  • List

Algemene opties worden weergegeven in de volgende tabel.

Option Description
-b|--bootstrapVersion Specificeert de bootstrap-versie en maakt een wwwroot map voor de Bootstrap-assets als deze map niet aanwezig is.
-dbProvider|--databaseProvider Databaseprovider om te gebruiken. Opties zijn onder andere sqlserver (standaard), sqlite, cosmos, postgres.
-dc|--dataContext De databasecontextklasse die moet worden gebruikt of de naam van de klasse die moet worden gegenereerd.
-f|--force Bestaande bestanden overschrijven.
-l|--layout Aangepaste indelingspagina die moet worden gebruikt.
-m|--model Modelklasse die moet worden gebruikt.
-outDir|--relativeFolderPath Pad naar relatieve uitvoermap. Als dit niet is opgegeven, worden bestanden gegenereerd in de projectmap.
-scripts|--referenceScriptLibraries Verwijs naar scriptbibliotheken in de gegenereerde weergaven. Voegt _ValidationScriptsPartial toe aan Edit en Create pagina's.
-sqlite|--useSqlite Vlag om op te geven of de databasecontext SQLite moet gebruiken in plaats van SQL Server.
-udl|--useDefaultLayout Gebruik de standaardindeling voor de weergaven.

De opties die uniek zijn voor razorpage worden weergegeven in de volgende tabel.

Option Description
-namespace|--namespaceName De naam van de naamruimte die moet worden gebruikt voor de gegenereerde PageModel-klasse.
-npm|--noPageModel Genereer geen PageModel klasse voor de Empty-sjabloon.
-partial|--partialView Genereer een gedeeltelijke weergave. Indelingsopties -l en -udl worden genegeerd als dit is opgegeven.

In het volgende voorbeeld wordt de Edit-sjabloon gebruikt om CustomEditPage.cshtml en CustomEditPage.cshtml.cs te genereren in de map Pages/Movies:

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

Gebruik de optie -h|--help voor hulp:

dotnet aspnet-codegenerator razorpage -h

Zie deel 2 voor een voorbeeld waarin de razorpage-generator wordt gebruikt, een modeltoevoegen.

View options

Weergaven kunnen afzonderlijk worden ingericht door de naam van de weergave en de sjabloon op te geven. De ondersteunde sjablonen zijn:

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

Algemene opties worden weergegeven in de volgende tabel.

Option Description
-b|--bootstrapVersion Specificeert de bootstrap-versie en maakt een wwwroot map voor de Bootstrap-assets als deze map niet aanwezig is.
-dbProvider|--databaseProvider Databaseprovider om te gebruiken. Opties zijn onder andere sqlserver (standaard), sqlite, cosmos, postgres.
-dc|--dataContext De databasecontextklasse die moet worden gebruikt of de naam van de klasse die moet worden gegenereerd.
-f|--force Bestaande bestanden overschrijven.
-l|--layout Aangepaste indelingspagina die moet worden gebruikt.
-m|--model Modelklasse die moet worden gebruikt.
-outDir|--relativeFolderPath Pad naar relatieve uitvoermap. Als dit niet is opgegeven, worden bestanden gegenereerd in de projectmap.
-scripts|--referenceScriptLibraries Verwijs naar scriptbibliotheken in de gegenereerde weergaven. Voegt _ValidationScriptsPartial toe aan Edit en Create pagina's.
-sqlite|--useSqlite Vlag om op te geven of de databasecontext SQLite moet gebruiken in plaats van SQL Server.
-udl|--useDefaultLayout Gebruik de standaardindeling voor de weergaven.

De opties die uniek zijn voor view worden weergegeven in de volgende tabel.

Option Description
-namespace|--controllerNamespace Geef de naam op van de naamruimte die moet worden gebruikt voor de gegenereerde controller.
-partial|--partialView Genereer een gedeeltelijke weergave. Andere indelingsopties (-l en -udl) worden genegeerd als dit is opgegeven.

In het volgende voorbeeld wordt de Edit-sjabloon gebruikt om CustomEditView.cshtml te genereren in de map Views/Movies:

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

Gebruik de optie -h|--help voor hulp:

dotnet aspnet-codegenerator view -h