Didacticiel : Créer un modèle de projet
Avec .NET, vous pouvez créer et déployer des modèles qui génèrent des projets, des fichiers et même des ressources. Ce tutoriel est le deuxième d’une série qui vous apprend comment créer, installer et désinstaller des modèles à utiliser avec la commande dotnet new
.
Conseil
Les modèles .NET officiels fournis avec le SDK .NET se trouvent dans les référentiels suivants :
Modèles | Référentiel |
---|---|
Console, bibliothèque de classes et modèles d’élément courants | dotnet/sdk |
Modèles ASP.NET et Blazor | dotnet/aspnetcore |
Modèles d’applications à page unique ASP.NET | dotnet/spa-templates |
Modèles WPF | dotnet/wpf |
Modèles Windows Forms | dotnet/winforms |
Tester les modèles | dotnet/test-templates |
Modèles MAUI | dotnet/maui |
Vous pouvez afficher les modèles installés sur votre ordinateur en exécutant la commande dotnet new list
.
Dans cette partie de la série, vous découvrirez comment :
- Créer les ressources d’un modèle de projet.
- Créer le dossier et le fichier de configuration du modèle.
- Installer un modèle à partir d’un chemin de fichier.
- Tester un modèle d’élément.
- Désinstaller un modèle d'élément.
Prérequis
- Complétez la première partie de cette série de tutoriels.
- Ouvrez un terminal et accédez au dossier working\content.
Important
Cet article est écrit pour .NET 7. Cependant, il s’applique aussi à .NET 6 et aux versions antérieures, à une différence près : la syntaxe de dotnet new
est différente. Les sous-commandes list
, search
, install
et uninstall
doivent être les options --list
, --search
, --install
et --uninstall
, respectivement.
Par exemple, la commande dotnet new install
dans .NET 7 devient dotnet new --install
dans .NET 6. Utilisez la commande dotnet new --help
pour afficher la liste de toutes les options et sous-commandes.
Créer un modèle de projet
Les modèles de projet produisent des projets prêts à être exécutés, qui permettent aux utilisateurs de démarrer facilement avec un jeu de code fonctionnel. .NET comprend quelques modèles de projet, tels qu’une application console ou une bibliothèque de classes. Dans cet exemple, vous allez créer un nouveau projet d’application console qui remplace la sortie standard « Hello World » par une sortie qui s’exécute de manière asynchrone.
Dans votre terminal, accédez au dossier working\templates et créez un sous-dossier nommé consoleasync. Entrez dans le sous-dossier et exécutez dotnet new console
pour générer l’application console standard. Vous allez modifier les fichiers générés par ce modèle pour créer un nouveau modèle.
working
└───content
└───consoleasync
consoleasync.csproj
Program.cs
Modifier Program.cs
Ouvrez le fichier Program.cs. Le projet de console standard n’écrit pas de manière asynchrone dans la sortie de la console, alors ajoutons-le. Modifiez le code comme suit et enregistrez le fichier :
// See https://aka.ms/new-console-template for more information
await Console.Out.WriteAsync("Hello World with C#");
Maintenant que le contenu du modèle est créé, vous devez créer la configuration du modèle dans le dossier racine du modèle.
Créer la configuration du modèle
Dans ce tutoriel, votre dossier de modèle se trouve dans working\content\consoleasync.
Les modèles sont reconnus par .NET, car ils ont un dossier spécial et un fichier de configuration à la racine de votre dossier de modèle.
Tout d’abord, créez un nouveau sous-dossier nommé .template.config et saisissez-le. Créez ensuite un nouveau fichier nommé template.json. La structure des dossiers doit ressembler à ceci :
working
└───content
└───consoleasync
└───.template.config
template.json
Ouvrez le fichier template.json avec votre éditeur de texte favori, puis collez le code json suivant et enregistrez-le.
{
"$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"
}
}
Ce fichier de configuration contient tous les paramètres de votre modèle. Vous pouvez voir les paramètres de base, tels que name
et shortName
, mais il existe également une valeur tags/type
définie sur project
. Cela catégorise votre modèle en tant que modèle « projet ». Il n’existe aucune restriction sur le type de modèle que vous créez. Les valeurs item
et project
sont des noms courants que .NET recommande afin que les utilisateurs puissent facilement filtrer le type de modèle qu’ils recherchent.
L’élément sourceName
est ce qui est remplacé lorsque l’utilisateur utilise le modèle. La valeur de sourceName
dans le fichier de configuration est recherchée dans chaque nom de fichier et contenu de fichier, et par défaut est remplacée par le nom du dossier actif. Lorsque le paramètre -n
ou --name
est passé avec la commande dotnet new
, la valeur fournie est utilisée au lieu du nom du dossier actuel. Dans le cas de ce modèle, consoleasync
est remplacé dans le nom du fichier .csproj .
L’élément classifications
représente la colonne tags que vous voyez lorsque vous exécutez dotnet new
et obtenez une liste de modèles. Les utilisateurs peuvent également effectuer une recherche sur les balises de classification. Ne confondez pas la propriété tags
du fichier template.json avec la liste des balises classifications
. Ce sont deux concepts différents qui portent malheureusement le même nom. Le schéma complet du fichier template.json se trouve dans le magasin de schémas JSON et est décrit dans Référence pour template.json. Pour plus d’informations sur le fichier template.json, consultez le Wiki de création de modèles dotnet.
Maintenant que vous avez un fichier .template.config/template.json valide, votre modèle est prêt à être installé. Avant d’installer le modèle, veillez à supprimer tous les dossiers et fichiers supplémentaires que vous ne souhaitez pas inclure dans votre modèle, comme les dossiers bin ou obj. Dans votre terminal, accédez au dossier consoleasync et exécutez dotnet new install .\
pour installer le modèle situé dans le dossier actuel. Si vous utilisez un système d’exploitation Linux ou macOS, utilisez une barre oblique : dotnet new install ./
.
dotnet new install .\
Cette commande génère un liste des modèles installés, qui doivent inclure le vôtre.
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
Tester le modèle de projet
Maintenant que vous avez un modèle de projet installé, testez-le.
Accédez au dossier de test.
Créez une nouvelle application console avec la commande suivante, générant un projet de travail que vous pouvez facilement tester avec la commande
dotnet run
.dotnet new consoleasync -n MyProject
Vous obtenez la sortie suivante.
The template "Example templates: async project" was created successfully.
Exécutez le projet à l’aide de la commande suivante.
dotnet run
Vous obtenez la sortie suivante.
Hello World with C#
Félicitations ! Vous avez créé et déployé un modèle de projet avec .NET. En préparation de la prochaine partie de cette série de didacticiels, désinstallez le modèle que vous avez créé. Veillez à supprimer également tous les fichiers du dossier test. Cela vous ramène à un état propre, prêt pour la prochaine partie de cette série de didacticiels.
Désinstaller le modèle
Dans votre terminal, accédez au dossier consoleasync et exécutez la commande suivante pour installer le modèle situé dans le dossier actuel :
- Sous Windows :
dotnet new uninstall .\
- Sous Linux ou macOS :
dotnet new uninstall ./
Cette commande génère une liste des modèles qui ont été désinstallés, qui devrait inclure le vôtre.
Success: <root path>\working\content\consoleasync was uninstalled.
Vous pouvez utiliser dotnet new uninstall
à tout moment, afin d’afficher la liste des packages de modèles installés, y compris pour chaque package de modèle, la commande permettant de le désinstaller.
Étapes suivantes
Dans ce tutoriel, vous avez créé un modèle de projet. Pour savoir comment empaqueter les modèles d’élément et de projet dans un fichier facile à utiliser, poursuivez cette série de tutoriels.