Partager via


dotnet new <TEMPLATE>

Cet article s’applique à : ✔️ SDK .NET Core 6 et versions ultérieures

Nom

dotnet new : crée un projet, un fichier de configuration ou une solution en fonction du modèle spécifié.

Synopsis

dotnet new <TEMPLATE> [--dry-run] [--force] [-lang|--language {"C#"|"F#"|VB}]
    [-n|--name <OUTPUT_NAME>] [-f|--framework <FRAMEWORK>] [--no-update-check]
    [-o|--output <OUTPUT_DIRECTORY>] [--project <PROJECT_PATH>]
    [-d|--diagnostics] [--verbosity <LEVEL>] [Template options]

dotnet new -h|--help

Description

La commande dotnet new crée un projet .NET ou d’autres artefacts basés sur un modèle.

La commande appelle le moteur de modèles pour créer les artefacts sur le disque en fonction du modèle et des options spécifiés.

Notes

À compter du SDK .NET 7, la syntaxe dotnet new a changé :

  • Les options --list, --search, --install et --uninstall sont devenues les sous-commandes list, search, install et uninstall.
  • L’option --update-apply est devenue la sous-commande update.
  • Pour utiliser --update-check, utilisez la sous-commande update avec l’option --check-only.

D’autres options disponibles avant sont toujours disponibles pour être utilisées avec leurs sous-commandes respectives. Une aide distincte pour chaque sous-commande est disponible via l’option -h ou l’option --help : dotnet new <subcommand> --help répertorie toutes les options prises en charge pour la sous-commande.

En outre, la saisie semi-automatique est désormais disponible pour dotnet new. Elle prend en charge la saisie semi-automatique pour les noms de modèles installés et pour les options fournies par le modèle sélectionné. Pour activer la saisie semi-automatique dans le SDK .NET, consultez Activer la saisie semi-automatique.

Saisie semi-automatique via la touche Tab

À compter du SDK .NET 7.0.100, la saisie semi-automatique est disponible pour dotnet new. Elle prend en charge la saisie semi-automatique pour les noms de modèles installés ainsi que pour les options fournies par le modèle sélectionné. Pour activer la saisie semi-automatique dans le SDK .NET, consultez Activer la saisie semi-automatique.

Restauration implicite

Vous n’avez pas besoin d’exécuter dotnet restore, car il est exécuté implicitement par toutes les commandes qui nécessitent une restauration pour se produire, comme dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish et dotnet pack. Pour désactiver la restauration implicite, utilisez l’option --no-restore .

La commande dotnet restore est toujours utile dans certains scénarios où la restauration explicite est logique, comme les builds d’intégration continue dans Azure DevOps Services ou dans les systèmes de génération qui doivent contrôler explicitement le moment où la restauration se produit.

Pour plus d’informations sur la gestion des flux NuGet, consultez la documentation dotnet restore.

Arguments

  • TEMPLATE

    Modèle à instancier quand la commande est appelée. Vous pouvez passer des options spécifiques pour chaque modèle. Pour plus d'informations, consultez Options de modèle.

    Vous pouvez exécuter dotnet new list pour afficher la liste de tous les modèles installés.

    La search commande doit être utilisée pour rechercher des modèles dans NuGet.org.

    Pour obtenir la liste des modèles fournis avec le Kit de développement logiciel (SDK) .NET, consultez les modèles préinstallés.

Options

  • --dry-run

    Affiche un récapitulatif de ce qui se passerait si la commande donnée était exécutée (si cela donnerait lieu à la création d’un modèle).

  • --force

    Force le contenu à être généré même s’il change les fichiers existants. Ceci est nécessaire lorsque le modèle choisi remplace les fichiers existants dans le répertoire de sortie.

  • -?|-h|--help

    Imprime une description de l’utilisation de la commande.

  • -lang|--language {C#|F#|VB}

    Langage du modèle à créer. Le langage accepté diffère selon le modèle (voir les valeurs par défaut dans la section arguments). Non valide pour certains modèles.

    Notes

    Certains interpréteurs interprètent la commande # comme un caractère spécial. Dans ces cas, placez la valeur du paramètre de langage entre guillemets. Par exemple : dotnet new console -lang "F#".

  • -n|--name <OUTPUT_NAME>

    Le nom de la sortie créée. Si aucun nom n’est spécifié, le nom du répertoire actif est utilisé.

  • -f|--framework <FRAMEWORK>

    Spécifie le framework cible. Elle attend un moniker de framework cible. Exemples : « net6.0 », « net7.0-macos ». Cette valeur est reflétée dans le fichier projet.

  • -no-update-check

    Désactive la vérification des mises à jour du package de modèle lors de l’instanciation d’un modèle. Disponible depuis .NET SDK 6.0.100. Lors de l’instanciation du modèle à partir d’un package de modèle installé à l’aide de dotnet new --install, dotnet new vérifie s’il existe une mise à jour pour le modèle. À compter de .NET 6, aucune vérification des mises à jour n’est effectuée pour les modèles .NET par défaut. Pour mettre à jour les modèles .NET par défaut, installez la version corrective du SDK .NET.

  • -o|--output <OUTPUT_DIRECTORY>

    Emplacement où placer la sortie générée. L'emplacement par défaut est le répertoire actif.

  • --project <PROJECT_PATH>

    Projet auquel le modèle est ajouté. Ce projet est utilisé pour l’évaluation du contexte. S’il n’est pas spécifié, le projet dans les répertoires actuels ou parents est utilisé. Disponible depuis .NET SDK 7.0.100.

  • -d|--diagnostics

    Active la sortie de diagnostic. Disponible depuis .NET SDK 7.0.100.

  • -v|--verbosity <LEVEL>

    Définit le niveau de détail de la commande. Les valeurs autorisées sont q[uiet], m[inimal], n[ormal], d[etailed] et diag[nostic]. Pour plus d’informations, consultez LoggerVerbosity.

Options de modèle

Chaque modèle peut avoir des options supplémentaires définies. Pour plus d’informations, consultez Modèles .NET par défaut pour dotnet new.

Exemples

  • Créez un projet d’application console C# :

    dotnet new console
    
  • Créez un projet d’application console F# dans le répertoire actif :

    dotnet new console --language "F#"
    
  • Créez un projet de bibliothèque de classes .NET Standard 2.0 dans le répertoire spécifié :

    dotnet new classlib --framework "netstandard2.0" -o MyLibrary
    
  • Créez un projet ASP.NET Core C# MVC dans le répertoire actif sans authentification :

    dotnet new mvc -au None
    
  • Créez un projet xUnit :

    dotnet new xunit
    
  • Créez un global.json dans le répertoire actif définissant la version du Kit de développement logiciel (SDK) sur 8.0.101 :

    dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeature
    
  • Affichez l’aide pour le modèle d’application console C# :

    dotnet new console -h
    
  • Affichez l’aide pour le modèle d’application console F# :

    dotnet new console --language "F#" -h
    

Voir aussi