dotnet run

Cet article s’applique à : ✔️ Kit de développement logiciel (SDK) .net Core 2. x et versions ultérieures

Nom

dotnet run - Exécute le code source sans commandes explicites de compilation ou de démarrage.

Synopsis

dotnet run [-a|--arch <ARCHITECTURE>] [-c|--configuration <CONFIGURATION>]
    [-f|--framework <FRAMEWORK>] [--force] [--interactive]
    [--launch-profile <NAME>] [--no-build]
    [--no-dependencies] [--no-launch-profile] [--no-restore]
    [--os <OS>] [--project <PATH>] [-r|--runtime <RUNTIME_IDENTIFIER>]
    [-v|--verbosity <LEVEL>] [[--] [application arguments]]

dotnet run -h|--help

Description

La commande dotnet run fournit une option pratique pour exécuter votre application à partir du code source à l’aide d’une seule commande. Elle est utile pour le développement itératif rapide en ligne de commande. La commande dépend de la dotnet build commande pour générer le code. Les conditions requises pour la génération, par exemple le fait que le projet doit être restauré en premier, s’appliquent également à dotnet run.

Notes

dotnet run ne respecte pas les arguments comme /property:property=value , qui sont respectés par dotnet build .

Les fichiers de sortie sont écrits dans l’emplacement par défaut, à savoir bin/<configuration>/<target>. Par exemple, si vous avez une application netcoreapp2.1 et que vous exécutez dotnet run, la sortie est placée dans bin/Debug/netcoreapp2.1. Les fichiers sont remplacés, si nécessaire. Les fichiers temporaires sont placés dans le répertoire obj.

Si le projet spécifie plusieurs frameworks, l’exécution de dotnet run entraîne une erreur, sauf si l’option -f|--framework <FRAMEWORK> est utilisée pour spécifier le framework.

La commande dotnet run est utilisée pour des projets, et pas pour des assemblys générés. Si vous tentez d’exécuter plutôt une DLL d’applications dépendantes du framework, vous devez utiliser dotnet sans commande. Par exemple, pour exécuter myapp.dll, utilisez :

dotnet myapp.dll

Pour plus d’informations sur le dotnet pilote, consultez la rubrique outils en ligne de commande .net (CLI) .

Pour exécuter l’application, la commande dotnet run résout les dépendances de l’application externes au runtime partagé à partir du cache NuGet. Dans la mesure où elle utilise la mise en cache des dépendances, il n’est pas recommandé d’utiliser dotnet run pour exécuter des applications en production. Créez plutôt un déploiement à l’aide de la commande dotnet publish et déployez le résultat publié.

Restauration implicite

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

La dotnet restore commande est toujours utile dans certains scénarios où la restauration explicite est appropriée, 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 dotnet restore documentation.

Cette commande prend en charge les dotnet restore options quand elles sont transmises sous la forme longue (par exemple, --source ). Les options sous forme abrégée, comme -s, ne sont pas prises en charge.

Téléchargements de manifeste de charge de travail

Lorsque vous exécutez cette commande, elle lance un téléchargement asynchrone en arrière-plan de manifestes de publicité pour les charges de travail. Si le téléchargement est toujours en cours d’exécution à la fin de cette commande, le téléchargement s’arrête. Pour plus d’informations, consultez manifestes de publication.

Options

  • --

    Délimite les arguments à dotnet run parmi les arguments de l’application en cours d’exécution. Tous les arguments après ce délimiteur sont passés à l’application exécutée.

  • -a|--arch <ARCHITECTURE>

    Spécifie l’architecture cible. Il s’agit d’une syntaxe raccourcie pour définir l' identificateur de Runtime (RID), où la valeur fournie est combinée avec le RID par défaut. Par exemple, sur un win-x64 ordinateur, --arch x86 la spécification définit le RID sur win-x86 . Si vous utilisez cette option, n’utilisez pas l' -r|--runtime option. Disponible depuis .NET 6 Preview 7.

  • -c|--configuration <CONFIGURATION>

    Définit la configuration de build. La valeur par défaut pour la plupart des projets est Debug , mais vous pouvez remplacer les paramètres de configuration de build dans votre projet.

  • -f|--framework <FRAMEWORK>

    Crée et exécute l’application à l’aide du framework spécifié. Le framework doit être spécifié dans le fichier projet.

  • --force

    Force la résolution de toutes les dépendances même si la dernière restauration a réussi. Définir cet indicateur revient à supprimer le fichier project.assets.json.

  • -?|-h|--help

    Imprime une description de l’utilisation de la commande.

  • --interactive

    Permet à la commande de s’arrêter et d’attendre une action ou une entrée utilisateur. Par exemple, pour effectuer une authentification. Option disponible à partir du kit SDK .NET Core 3.0.

  • --launch-profile <NAME>

    Nom du profil de lancement éventuel à utiliser au lancement de l’application. Les profils de lancement sont définis dans le fichier launchSettings. JSON et sont généralement appelés Development , Staging et Production . Pour plus d’informations, consultez utilisation de plusieurs environnements.

  • --no-build

    Ne génère pas le projet avant l’exécution. L’indicateur --no-restore est également défini implicitement.

  • --no-dependencies

    En cas de restauration d’un projet avec des références entre projets (P2P), restaure le projet racine et non les références.

  • --no-launch-profile

    N’essaie pas d’utiliser launchSettings.json pour configurer l’application.

  • --no-restore

    N’effectue pas de restauration implicite à l’exécution de la commande.

  • --os <OS>

    Spécifie le système d’exploitation (se) cible. Il s’agit d’une syntaxe raccourcie pour définir l' identificateur de Runtime (RID), où la valeur fournie est combinée avec le RID par défaut. Par exemple, sur un win-x64 ordinateur, --os os la spécification définit le RID sur os-x64 . Si vous utilisez cette option, n’utilisez pas l' -r|--runtime option. Disponible depuis .NET 6 Preview 7.

  • --project <PATH>

    Spécifie le chemin du fichier projet à exécuter (nom de dossier ou chemin complet). Si aucune valeur n’est spécifiée, le répertoire actif est utilisé par défaut.

    L' -p abréviation de --project est déconseillée à compter de .net 6 Preview SDK. Pour une durée limitée à partir du kit de développement logiciel (SDK) .NET 6 RC1, -p peut toujours être utilisé pour --project malgré l’avertissement de désapprobation. Si l’argument fourni pour l’option ne contient pas = , la commande accepte le -p format short pour --project . Dans le cas contraire, la commande suppose que -p est short pour --property . Cette utilisation flexible de -p pour --project sera progressive dans .net 7.

  • --property:<NAME>=<VALUE>

    définit une ou plusieurs propriétés de MSBuild. Spécifiez plusieurs propriétés séparées par des points-virgules ou en répétant l’option :

    --property:<NAME1>=<VALUE1>;<NAME2>=<VALUE2>
    --property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>
    

    La forme abrégée -p peut être utilisée pour --property . Si l’argument fourni pour l’option contient = , -p est accepté comme Short pour --property . Dans le cas contraire, la commande suppose que -p est short pour --project .

    pour passer --property à l’application au lieu de définir une propriété MSBuild, indiquez l’option après le -- séparateur de syntaxe, par exemple :

    dotnet run -- --property name=value
    
  • -r|--runtime <RUNTIME_IDENTIFIER>

    Spécifie le runtime cible pour lequel restaurer les packages. Pour connaître les identificateurs de runtime, consultez le catalogue des identificateurs de runtime. -r option Short disponible depuis le kit de développement logiciel (SDK) .NET Core 3,0.

  • -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]. La valeur par défaut est minimal. Pour plus d'informations, consultez LoggerVerbosity.

Exemples

  • Exécutez le projet dans le répertoire actif :

    dotnet run
    
  • Exécutez le projet spécifié :

    dotnet run --project ./projects/proj1/proj1.csproj
    
  • Exécutez le projet dans le répertoire actif, en spécifiant la configuration Release :

    dotnet run --property:Configuration=Release
    
  • Exécutez le projet dans le répertoire actuel (l’argument --help de cet exemple est passé à l’application, puisque l’option -- vide est utilisée) :

    dotnet run --configuration Release -- --help
    
  • Restaurez les dépendances et les outils pour le projet dans le répertoire actif uniquement avec une sortie minimale, puis exécutez le projet :

    dotnet run --verbosity m