Gérer les modèles de projet et d’élément .NET

.NET fournit un système de modèle qui permet aux utilisateurs d’installer ou de désinstaller des packages contenant des modèles à partir de NuGet, d’un fichier de package NuGet ou d’un répertoire de système de fichiers. Cet article explique comment gérer des modèles .NET via l’interface CLI du SDK .NET.

Pour plus d’informations sur la création de modèles, consultez Didacticiel : créer des modèles.

Installer le modèle

Les packages de modèles sont installés par le biais de la commande du SDK dotnet new install. Vous pouvez fournir l’identificateur de package NuGet d’un package de modèle ou un dossier qui contient les fichiers de modèle.

Package hébergé NuGet

Les packages de modèles CLI .NET sont chargés sur NuGet pour une distribution étendue. Les packages de modèles peuvent également être installés à partir d’un flux privé. Au lieu de charger un package de modèle dans un flux NuGet, il est possible de distribuer les fichiers de modèle nupkg, puis de les installer manuellement, comme décrit dans la section du package NuGet local.

Pour plus d’informations sur la configuration des flux NuGet, consultez dotnet nuget add source.

Pour installer un package de modèle à partir du flux NuGet par défaut, utilisez la commande dotnet new install {package-id} :

dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates

Pour installer un package de modèle à partir du flux NuGet par défaut avec une version spécifique, utilisez la commande dotnet new install {package-id}::{version} :

dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.2.6

Package NuGet local

Lorsqu’un package de modèle est créé, un fichier nupkg est généré. Si vous disposez d’un fichier nupkg contenant des modèles, vous pouvez l’installer avec la commande dotnet new install {path-to-package} :

dotnet new install c:\code\nuget-packages\Some.Templates.1.0.0.nupkg
dotnet new install ~/code/nuget-packages/Some.Templates.1.0.0.nupkg

Dossier

En guise d’alternative à l’installation du modèle à partir d’un fichier nupkg, vous pouvez également installer des modèles à partir d’un dossier directement avec la commande dotnet new install {folder-path}. Le dossier spécifié est traité comme l’identificateur de package de modèle pour tout modèle trouvé. Tout modèle trouvé dans la hiérarchie du dossier spécifié est installé.

dotnet new install c:\code\nuget-packages\some-folder\
dotnet new install ~/code/nuget-packages/some-folder/

Le {folder-path} spécifié devient l’identificateur de package de modèle pour tous les modèles trouvés. Comme spécifié dans la section Répertorier les packages de modèles, vous pouvez obtenir la liste des packages de modèles installés en utilisant la commande dotnet new uninstall. Dans cet exemple, l’identificateur du package de modèle s’affiche en tant que dossier utilisé pour l’installation :

dotnet new uninstall
Currently installed items:

... cut to save space ...

  c:\code\nuget-packages\some-folder
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall c:\code\nuget-packages\some-folder
dotnet new uninstall
Currently installed items:

... cut to save space ...

  /home/username/code/templates
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall /home/username/code/templates

Désinstaller le package de modèle

Les packages de modèles sont désinstallés par le biais de la commande du SDK uninstall dotnet new. Vous pouvez fournir l’identificateur de package NuGet d’un package de modèle ou un dossier qui contient les fichiers de modèle.

Package NuGet

Une fois qu’un package de modèle NuGet est installé, à partir d’un flux NuGet ou d’un fichier nupkg, vous pouvez le désinstaller en référençant l’identificateur du package NuGet.

Pour désinstaller un package de modèle, utilisez la commande dotnet new uninstall {package-id} :

dotnet new uninstall Microsoft.DotNet.Web.Spa.ProjectTemplates

Dossier

Lorsque des modèles sont installés via un chemin d’accès au dossier, celui-ci devient l’identificateur du package de modèle.

Pour désinstaller un package de modèle, utilisez la commande dotnet new uninstall {package-folder-path} suivante :

dotnet new uninstall c:\code\nuget-packages\some-folder
dotnet new uninstall /home/username/code/templates

Répertorier les packages de modèles

La commande de désinstallation standard sans identificateur de package permet d’afficher la liste des packages de modèles installés, ainsi que la commande qui désinstalle chaque package de modèle.

dotnet new uninstall
Currently installed items:

... cut to save space ...

  c:\code\nuget-packages\some-folder
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall c:\code\nuget-packages\some-folder

Installer des packages de modèles à partir d’autres kits SDK

Si vous avez installé chaque version du Kit de développement logiciel (SDK) séquentiellement, par exemple le SDK 6.0, le SDK 7.0, et ainsi de suite, vous disposez de tous les modèles du SDK installés. Toutefois, si vous commencez avec une version ultérieure du SDK, comme la version 7.0, seuls les modèles de cette version sont inclus. Les modèles de toute autre version ne le sont pas.

Les modèles .NET sont disponibles sur NuGet et vous pouvez les installer comme n’importe quel autre modèle. Pour plus d’informations, consultez le document Installation d’un package NuGet hébergé.

Kit SDK Identificateur de package NuGet
.NET Core 2.1 Microsoft.DotNet.Common.ProjectTemplates.2.1
.NET Core 2.2 Microsoft.DotNet.Common.ProjectTemplates.2.2
.NET Core 3.0 Microsoft.DotNet.Common.ProjectTemplates.3.0
.NET Core 3.1 Microsoft.DotNet.Common.ProjectTemplates.3.1
.NET 5.0 Microsoft.DotNet.Common.ProjectTemplates.5.0
.NET 6.0 Microsoft.DotNet.Common.ProjectTemplates.6.0
.NET 7.0 Microsoft.DotNet.Common.ProjectTemplates.7.0
ASP.NET Core 2.1 Microsoft.DotNet.Web.ProjectTemplates.2.1
ASP.NET Core 2.2 Microsoft.DotNet.Web.ProjectTemplates.2.2
ASP.NET Core 3.0 Microsoft.DotNet.Web.ProjectTemplates.3.0
ASP.NET Core 3.1 Microsoft.DotNet.Web.ProjectTemplates.3.1
ASP.NET Core 5.0 Microsoft.DotNet.Web.ProjectTemplates.5.0
ASP.NET Core 6.0 Microsoft.DotNet.Web.ProjectTemplates.6.0
ASP.NET Core 7.0 Microsoft.DotNet.Web.ProjectTemplates.7.0

Par exemple, le SDK .NET 7 inclut des modèles pour une application console ciblant .NET 7. Si vous souhaitez cibler .NET Core 3.1, vous devez installer le package de modèle 3.1.

  1. Essayez de créer une application qui cible .NET Core 3.1.

    dotnet new console --framework netcoreapp3.1
    

    Si un message d’erreur s’affiche, vous devez installer les modèles.

  2. Installez les modèles de projet .NET Core 3.1.

    dotnet new install Microsoft.DotNet.Common.ProjectTemplates.3.1
    
  3. Essayez de créer l’application une deuxième fois.

    dotnet new console --framework netcoreapp3.1
    

    Un message indiquant que le projet a été créé doit s’afficher.

Le modèle « Application console » a été créé avec succès.

Traitement des actions post-création... Exécution de « dotnet restore » sur path-to-project-file.csproj... Détermination des projets à restaurer... Restauration terminée en 1,05 s pour path-to-project-file.csproj.

La restauration a réussi.

Voir aussi