Partager via


Tutoriel : 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 des ressources. Ce tutoriel fait partie deux d’une série qui vous apprend à créer, installer et désinstaller des modèles à utiliser avec la dotnet new commande.

Conseil / Astuce

Les modèles .NET officiels fournis avec le Kit de développement logiciel (SDK) .NET sont disponibles dans les référentiels suivants :

Modèles Référentiel
Console, bibliothèque de classes et modèles d’éléments courants dotnet/sdk
modèles ASP.NET et Blazor dotnet/aspnetcore
modèles d’application monopage ASP.NET dotnet/spa-templates
Modèles WPF dotnet/wpf
Modèles Windows Forms dotnet/winforms
Modèles de test dotnet/test-templates
Modèles MAUI dotnet/maui

Vous pouvez afficher les modèles installés sur votre ordinateur en exécutant la dotnet new list commande.

Dans cette partie de la série, vous allez apprendre à :

  • Créez les ressources d’un modèle de projet.
  • Créez le dossier et le fichier de configuration du modèle.
  • Installez un modèle à partir d’un chemin de fichier.
  • Testez un modèle d’élément.
  • Désinstallez un modèle d’élément.

Prerequisites

  • .NET 9 ou une version ultérieure.

  • Terminez la première partie de cette série de tutoriels.

  • Ouvrez un terminal et accédez au dossier working\content .

Créer un modèle de projet

Les modèles de projet produisent des projets prêts à l’exécution qui facilitent le démarrage des utilisateurs avec un ensemble de code opérationnel. .NET inclut quelques modèles de projet tels qu’une application console ou une bibliothèque de classes. Dans cet exemple, vous créez un projet d’application console qui remplace la sortie standard de la console « Hello World » par une sortie de console qui s’exécute de manière asynchrone.

Dans votre terminal, accédez au dossier working\content et créez un sous-dossier nommé consoleasync. Entrez le sous-dossier et exécutez-le dotnet new console pour générer l’application console standard. Modifiez 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. Ajoutez-le donc. Remplacez le code par ce qui 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 vous disposez du contenu du modèle 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 à 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 sous-dossier nommé .template.config, puis entrez-le. Ensuite, créez un fichier nommé template.json. Votre structure de dossiers doit ressembler à ceci :

working
└───content
    └───consoleasync
        └───.template.config
                template.json

Ouvrez le template.json avec votre éditeur de texte favori et collez-le dans 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 tags/type valeur 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 pour permettre aux utilisateurs de filtrer facilement le type de gabarit qu'ils recherchent.

L’élément sourceName est ce qui est remplacé lorsque l’utilisateur utilise le modèle. La valeur du sourceName 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 de balises que vous voyez lorsque vous exécutez dotnet new et obtenez une liste de modèles. Les utilisateurs peuvent également effectuer des recherches basées sur des étiquettes de classification. Ne confondez pas la tags propriété dans le fichier template.json avec la classifications liste des balises. Il s’agit de 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 disposez d’un fichier .template.config/template.json valide, votre modèle est prêt à être installé. Avant d’installer le modèle, veillez à supprimer 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-le dotnet new install .\ pour installer le modèle situé dans le dossier actif. 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 une 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 installé un modèle de projet, testez-le.

  1. Accédez au dossier de test .

  2. Créez une application console avec la commande suivante, qui génère un projet de travail que vous pouvez facilement tester avec la dotnet run commande.

    dotnet new consoleasync -n MyProject
    

    Vous obtenez la sortie suivante.

    The template "Example templates: async project" was created successfully.
    
  3. 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 tutoriels, désinstallez le modèle que vous avez créé. Veillez également à supprimer tous les fichiers du dossier de test . Cela vous permet de revenir à un état propre prêt pour la prochaine partie de cette série de tutoriels.

Désinstaller le modèle

Dans votre terminal, accédez au dossier consoleasync et exécutez la commande suivante pour désinstaller le modèle situé dans le dossier actif :

  • Sur Windows : dotnet new uninstall .\
  • Sur Linux ou macOS : dotnet new uninstall ./

Cette commande génère une liste des modèles qui ont été désinstallés, qui doivent inclure le vôtre.

Success: <root path>\working\content\consoleasync was uninstalled.

À tout moment, vous pouvez utiliser dotnet new uninstall pour afficher la liste des packages de modèles installés, y compris pour chaque package de modèle, la commande à désinstaller.

Étapes suivantes

Dans ce tutoriel, vous avez créé un modèle de projet. Pour savoir comment empaqueter à la fois les modèles d’élément et de projet dans un fichier facile à utiliser, poursuivez cette série de tutoriels.