web-dev-qa-db-fra.com

LaunchSettings.json est-il utilisé lors de l'exécution d'applications ASP.NET 5 à partir de la ligne de commande sur Mac?

Je développe une application API Web ASP.NET 5 à l'aide du code Visual Studio sur Mac. J'ai modifié manuellement mon fichier Properties/launchSettings.json pour définir l'environnement sur Staging pour tous les profils à l'aide de la variable d'environnement ASPNET_ENV:  enter image description here

Cependant, lorsque je lance dnx web dans un terminal Mac pour démarrer l'application, j'obtiens toujours un environnement Production:  enter image description here

Puis-je utiliser launchSettings.json pour spécifier des variables d'environnement (et donc des types d'environnement) si j'utilise Visual Studio Code sur Mac? Ou est-ce spécifique à Visual Studio?

ASP.NET 5 docs suggère que launchSettings.json peut être utilisé pour injecter des variables d’environnement. Cependant, cette SO discussion suggère de leur transmettre des commandes.

19
Nikolai Samteladze

LaunchSettings.json est strictement un concept de VS. Dans d'autres cas, vous devrez configurer les variables d'environnement à l'aide des commandes ci-dessous:

Pour une exécution standard en ligne de commande, utilisez:

set ASPNET_ENV=Development

dnx web

Pour PowerShell, utilisez:

$env:ASPNET_ENV='Development'

dnx web

Version plus courte: dnx web ASPNET_ENV=Development

12
Chrysalis

Sur un Mac, à l'aide de Terminal, tapez:

export ASPNETCORE_ENVIRONMENT=Development && dotnet run

Exigences:

5
Steve Brush

En ajoutant à la réponse @Chrysalis, vous pouvez également éviter de "déconner" avec l'environnement actuel en transmettant les variables nécessaires en ligne de commande.

Dans le fichier project.json, dites que vous avez une commande web-dev spécifique à l'environnement de développement:

"commands": {
  "web-dev": "Microsoft.AspNet.Server.Kestrel 
    --ASPNET_ENV Development --Hosting:Environment Development 
    --config hosting.Development.json",
},

où vous pouvez voir comment les deux ASPNET_ENV, Hosting:Environment sont définis, ainsi que l'appel d'une configuration hosting.json spécifique.
NOTE: La commande est divisée en plusieurs lignes uniquement pour des raisons de lisibilité, rejoignez à nouveau avant de coller dans un fichier JSON.

0
superjos