dotnet new <TEMPLATE>
Cet article s’applique à : ✔️ SDK .NET Core 3.1 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-commandeslist
,search
,install
etuninstall
. - L’option
--update-apply
est devenue la sous-commandeupdate
. - Pour utiliser
--update-check
, utilisez la sous-commandeupdate
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.À compter du SDK .NET Core 3.0 et jusqu’au SDK .NET 5.0.300, l’interface CLI recherche les modèles dans NuGet.org lorsque vous appelez la commande
dotnet new
dans les conditions suivantes :- Si l’interface CLI ne trouve pas de correspondance de modèle lors de l’appel
dotnet new
, pas même partielle. - S’il existe une version plus récente du modèle disponible. Dans ce cas, le projet ou l’artefact est créé, mais l’interface CLI vous avertit d’une version mise à jour du modèle.
À compter du SDK .NET 5.0.300, la commande
search
doit être utilisée pour rechercher les modèles dans NuGet.org.- Si l’interface CLI ne trouve pas de correspondance de modèle lors de l’appel
Le tableau suivant présente les modèles préinstallés avec le SDK .NET. Le langage par défaut pour le modèle est indiqué entre crochets. Cliquez sur le lien du nom court pour voir les options spécifiques au modèle.
Modèles | Nom court | Langage | Étiquettes | Introduit |
---|---|---|---|---|
Application console | console |
[C#], F#, VB | Communes/Console | 1.0 |
Bibliothèque de classes | classlib |
[C#], F#, VB | Communes/Bibliothèque | 1.0 |
Application WPF | wpf |
[C#], VB | Common/WPF | 3.0 (5.0 pour VB) |
Bibliothèque de classes WPF | wpflib |
[C#], VB | Common/WPF | 3.0 (5.0 pour VB) |
Bibliothèque de contrôles personnalisés WPF | wpfcustomcontrollib |
[C#], VB | Common/WPF | 3.0 (5.0 pour VB) |
Bibliothèque de contrôles utilisateur WPF | wpfusercontrollib |
[C#], VB | Common/WPF | 3.0 (5.0 pour VB) |
Application Windows Forms (WinForms) | winforms |
[C#], VB | Common/WinForms | 3.0 (5.0 pour VB) |
Bibliothèque de classes Windows Forms (WinForms) | winformslib |
[C#], VB | Common/WinForms | 3.0 (5.0 pour VB) |
Service Worker | worker |
[C#] | Common/Worker/Web | 3.0 |
Projet de test unitaire | mstest |
[C#], F#, VB | Test/MSTest | 1.0 |
Projet de test NUnit 3 | nunit |
[C#], F#, VB | Test/NUnit | 2.1.400 |
Élément de test NUnit 3 | nunit-test |
[C#], F#, VB | Test/NUnit | 2.2 |
Projet de test xUnit | xunit |
[C#], F#, VB | Test/xUnit | 1.0 |
Razor composants | razorcomponent |
[C#] | Web/ASP.NET | 3.0 |
Page Razor | page |
[C#] | Web/ASP.NET | 2.0 |
ViewImports MVC | viewimports |
[C#] | Web/ASP.NET | 2.0 |
ViewStart MVC | viewstart |
[C#] | Web/ASP.NET | 2.0 |
Application webBlazor | blazor |
[C#] | Web/Blazor | 8.0.100 |
BlazorWebAssembly Application autonome | blazorwasm |
[C#] | Web/BlazorWebAssemblyPWA | 3.1.300 |
ASP.NET Core vide | web |
[C#], F# | Web/vides | 1.0 |
Application web ASP.NET Core (Model-View-Controller) | mvc |
[C#], F# | Web/MVC | 1.0 |
Application web ASP.NET Core | webapp, razor |
[C#] | Web/MVC/Razor Pages | 2.2, 2.0 |
Bibliothèque de classes Razor | razorclasslib |
[C#] | Web/Razor/Library/Bibliothèque de classes Razor | 2.1 |
API web ASP.NET Core | webapi |
[C#], F# | Web/Web API/API/Service/WebAPI | 1.0 |
API ASP.NET Core | webapiaot |
[C#] | Web/Web API/API/Service | 8.0 |
contrôleur d’API core ASP.NET | apicontroller |
[C#] | Web/ASP.NET | 8.0 |
Service gRPC ASP.NET Core | grpc |
[C#] | Web/gRPC | 3.0 |
fichier dotnet gitignore | gitignore |
Config | 3.0 | |
fichier global.json | globaljson |
Config | 2.0 | |
Configuration NuGet | nugetconfig |
Config | 1.0 | |
Fichier manifeste de l’outil local Dotnet | tool-manifest |
Config | 3.0 | |
Configuration Web | webconfig |
Config | 1.0 | |
Fichier solution | sln |
Solution | 1.0 | |
Fichier tampon de protocole | proto |
Web/gRPC | 3.0 | |
Fichier EditorConfig | editorconfig |
Config | 6.0 |
Le tableau suivant présente les modèles qui ont été supprimés et qui ne sont plus préinstallés avec le Kit de développement logiciel (SDK) .NET. Cliquez sur le lien du nom court pour voir les options spécifiques au modèle.
Modèles | Nom court | Langage | Balises | Arrêté depuis |
---|---|---|---|---|
ASP.NET Core avec Angular | angular |
[C#] | Web/MVC/SPA | 8.0 |
ASP.NET Core avec React.js | react |
[C#] | Web/MVC/SPA | 8.0 |
Blazor Application serveur | blazorserver |
[C#] | Web/Blazor | 8.0 |
Blazor Application serveur vide | blazorserver-empty |
[C#] | Web/Blazor | 8.0 |
BlazorWebAssembly Application vide | blazorwasm-empty |
[C#] | Web/Blazor/WebAssembly | 8.0 |
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). Disponible à partir du SDK .NET Core 2.2.
--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
Affiche l’aide pour la commande. Elle peut être appelée pour la commande
dotnet new
elle-même ou pour n’importe quel modèle. Par exemple :dotnet new mvc --help
.-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]
etdiag[nostic]
. Disponible depuis .NET SDK 7.0.100.
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