Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met .NET kunt u sjablonen maken en implementeren waarmee projecten, bestanden en resources worden gegenereerd. Deze zelfstudie is deel twee van een reeks waarin u leert hoe u sjablonen maakt, installeert en verwijdert voor gebruik met de dotnet new opdracht.
Aanbeveling
De officiële .NET-sjablonen die worden verzonden met de .NET SDK, vindt u in de volgende opslagplaatsen:
| Sjablonen | Opslagplaats |
|---|---|
| Console-, klassebibliotheek- en algemene itemsjablonen | dotnet/sdk |
| ASP.NET- en Blazor-sjablonen | dotnet/aspnetcore |
| ASP.NET Single Page Application-sjablonen | dotnet/spa-templates |
| WPF-sjablonen | dotnet/wpf |
| Windows Forms-sjablonen | dotnet/winforms |
| Testsjablonen | dotnet/test-templates |
| MAUI-sjablonen | dotnet/maui |
U kunt de sjablonen weergeven die op uw computer zijn geïnstalleerd door de opdracht uit te dotnet new list voeren.
In dit deel van de serie leert u het volgende:
- Maak de resources van een projectsjabloon.
- Maak de sjabloonconfiguratiemap en het configuratiebestand.
- Installeer een sjabloon vanuit een bestandspad.
- Test een itemsjabloon.
- Verwijder een itemsjabloon.
Vereiste voorwaarden
.NET 9 of een latere versie.
Voltooi deel 1 van deze reeks zelfstudies.
Open een terminal en ga naar de map working\content.
Een projectsjabloon maken
Projectsjablonen produceren kant-en-klare projecten waarmee gebruikers eenvoudig kunnen beginnen met een werkende set code. .NET bevat enkele projectsjablonen, zoals een consoletoepassing of een klassebibliotheek. In dit voorbeeld maakt u een nieuw consoletoepassingsproject dat de standaard 'Hallo wereld'-console-uitvoer vervangt door een console die asynchroon wordt uitgevoerd.
Navigeer in de terminal naar de map working\content en maak een nieuwe submap met de naam consoleasync. Open de submap en voer dotnet new console uit om de standaardconsoletoepassing te genereren. Bewerk de bestanden die door deze sjabloon worden geproduceerd om een nieuwe sjabloon te maken.
working
└───content
└───consoleasync
consoleasync.csproj
Program.cs
Program.cs wijzigen
Open het Program.cs-bestand . Het standaardconsoleproject schrijft niet asynchroon naar de console-uitvoer, dus voeg dat toe. Wijzig de code in het volgende en sla het bestand op:
// See https://aka.ms/new-console-template for more information
await Console.Out.WriteAsync("Hello World with C#");
Nu u de inhoud van de sjabloon hebt gemaakt, moet u de sjabloonconfiguratie maken in de hoofdmap van de sjabloon.
De sjabloonconfiguratie maken
In deze zelfstudie bevindt uw sjabloonmap zich in working\content\consoleasync.
Sjablonen worden herkend door .NET omdat ze een speciale map en een configuratiebestand hebben in de hoofdmap van uw sjabloonmap.
Maak eerst een nieuwe submap met de naam.template.configen voer deze in. Maak vervolgens een nieuw bestand met de naam template.json. De mapstructuur moet er als volgt uitzien:
working
└───content
└───consoleasync
└───.template.config
template.json
Open de template.json met uw favoriete teksteditor en plak de volgende json-code en sla deze op.
{
"$schema": "http://json.schemastore.org/template",
"author": "Me",
"classifications": [ "Common", "Console" ],
"identity": "ExampleTemplate.AsyncProject",
"name": "Example templates: async project",
"shortName": "consoleasync",
"sourceName":"consoleasync",
"tags": {
"language": "C#",
"type": "project"
}
}
Dit configuratiebestand bevat alle instellingen voor uw sjabloon. U kunt de basisinstellingen zien, zoals name en shortName, maar er is ook een tags/type waarde ingesteld op project. Hiermee categoriseert u uw sjabloon als een projectsjabloon. Er is geen beperking voor het type sjabloon dat u maakt. De item en project waarden zijn algemene namen die door .NET worden aanbevolen, zodat gebruikers eenvoudig het type sjabloon kunnen filteren waarnaar ze zoeken.
Het sourceName item wordt vervangen wanneer de gebruiker de sjabloon gebruikt. De waarde van sourceName het configuratiebestand wordt gezocht in elke bestandsnaam en bestandsinhoud en wordt standaard vervangen door de naam van de huidige map. Wanneer de -n of --name parameter wordt doorgegeven met de dotnet new opdracht, wordt de opgegeven waarde gebruikt in plaats van de naam van de huidige map. In het geval van deze sjabloon wordt consoleasync vervangen in de naam van het .csproj-bestand.
Het classifications item vertegenwoordigt de kolom met tags die u ziet wanneer u uitvoert dotnet new en een lijst met sjablonen opgeeft. Gebruikers kunnen ook zoeken op basis van classificatietags. Verwar de tags eigenschap in het template.json bestand niet met de classifications lijst met tags. Het zijn twee verschillende concepten die helaas hetzelfde worden genoemd. Het volledige schema voor het template.json-bestand vindt u in de JSON-schemaopslag en wordt beschreven in Naslaginformatie voor template.json. Zie de dotnet-sjabloonwiki voor meer informatie over het template.json-bestand.
Nu u een geldig .template.config-/template.json-bestand hebt, kunt u de sjabloon installeren. Voordat u de sjabloon installeert, moet u ervoor zorgen dat u extra mappen en bestanden verwijdert die u niet wilt opnemen in uw sjabloon, zoals de bin - of obj-mappen . Navigeer in je terminal naar de map consoleasync en voer het commando dotnet new install .\ uit om de sjabloon in de huidige map te installeren. Als u een Linux- of macOS-besturingssysteem gebruikt, dient u een schuine streep naar voren te gebruiken: dotnet new install ./.
dotnet new install .\
Met deze opdracht wordt een lijst uitgevoerd met de geïnstalleerde sjablonen, waaronder die van u.
The following template packages will be installed:
<root path>\working\content\consoleasync
Success: <root path>\working\content\consoleasync installed the following templates:
Templates Short Name Language Tags
-------------------------------------------- ------------------- ------------ ----------------------
Example templates: async project consoleasync [C#] Common/Console
Projectsjabloon testen
Nu u een projectsjabloon hebt geïnstalleerd, test u deze.
Navigeer naar de test-map.
Maak een nieuwe consoletoepassing met de volgende opdracht, waarmee u een werkend project genereert dat u eenvoudig kunt testen met de
dotnet runopdracht.dotnet new consoleasync -n MyProjectU krijgt de volgende uitvoer.
The template "Example templates: async project" was created successfully.Voer het project uit met behulp van de volgende opdracht.
dotnet runU krijgt de volgende uitvoer.
Hello World with C#
Gefeliciteerd! U hebt een projectsjabloon gemaakt en geïmplementeerd met .NET. Verwijder de sjabloon die u hebt gemaakt ter voorbereiding op het volgende deel van deze reeks zelfstudies. Zorg ervoor dat u ook alle bestanden uit de test-map verwijdert. Hiermee keert u terug naar een schone staat, klaar voor het volgende deel van deze handleidingreeks.
De sjabloon verwijderen
Navigeer in de terminal naar de map consoleasync en voer de volgende opdracht uit om de sjabloon in de huidige map te verwijderen:
-
In Windows:
dotnet new uninstall .\ -
In Linux of macOS:
dotnet new uninstall ./
Met deze opdracht wordt een lijst uitgevoerd met de sjablonen die zijn verwijderd, waaronder die van u.
Success: <root path>\working\content\consoleasync was uninstalled.
U kunt op elk gewenst moment dotnet new uninstall gebruiken om een lijst met geïnstalleerde sjabloonpakketten te zien, inclusief voor elk sjabloonpakket het commando om het te verwijderen.
Volgende stappen
In deze tutorial hebt u een projectsjabloon gemaakt. Als u wilt weten hoe u zowel de item- als projectsjablonen in een gebruiksvriendelijk bestand kunt verpakken, gaat u verder met deze reeks zelfstudies.