Delen via


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

Notitie

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

Waarschuwing

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.

Belangrijk

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

Notitie

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 Core 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

Samenvatting

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]

Beschrijving

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

Argumenten

generator

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

Generator Operatie
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 Operatie
area Ondersteunt de opbouw van een gebied.
controller Maakt sjablonen voor een controller.
identity scaffolds Identity.
minimalapi Genereert een eindpuntbestand (met CRUD API-eindpunten) op basis van een model en optionele databasecontext.
razorpage Scaffolds Razor Pages.
view Bouwt een weergave op.

Opties

-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 .

Generatoropties

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

Gebiedsopties

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.

Optie Beschrijving
-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 Een Blazor filmdatabase-app (Overzicht) bouwenvoor 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.

Optie Beschrijving
-dbProvider|--databaseProvider Databaseprovider 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

Controlleropties

Algemene opties worden weergegeven in de volgende tabel.

Optie Beschrijving
-b|--bootstrapVersion Specificeert de bootstrap-versie en maakt een wwwroot map voor de Bootstrap-assets als deze map niet aanwezig is.
-dbProvider|--databaseProvider Databaseprovider 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 Relatief pad van de 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.

Optie Beschrijving
-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.

Optie Beschrijving
-dbProvider|--databaseProvider Te gebruiken databaseprovider. 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.

Optie Beschrijving
-b|--bootstrapVersion Hiermee wordt de bootstrap-versie gespecificeerd en wordt er een wwwroot map gemaakt voor de Bootstrap-bestanden als de map niet aanwezig is.
-dbProvider|--databaseProvider Te gebruiken databaseprovider. 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 Relatief pad van de 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.

Optie Beschrijving
-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.

Weergaveopties

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.

Optie Beschrijving
-b|--bootstrapVersion Geeft de bootstrap-versie op en maakt een wwwroot-map voor de Bootstrap-assets indien deze nog niet bestaat.
-dbProvider|--databaseProvider Databaseprovider 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 om te gebruiken.
-m|--model Modelklasse die moet worden gebruikt.
-outDir|--relativeFolderPath Relatief pad naar de uitvoermap. Als dit niet is opgegeven, worden bestanden gegenereerd in de projectmap.
-scripts|--referenceScriptLibraries Neem referentie op 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.

Optie Beschrijving
-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