2016-01-01 7 views
19

Ich entwickle eine ASP.NET 5-Web-API-Anwendung mit Visual Studio-Code auf dem Mac. Ich änderte manuell meine Properties/launchSettings.json Datei Umgebung für alle Profile mit ASPNET_ENV Umgebungsvariable Staging einzustellen: enter image description hereWird launchSettings.json verwendet, wenn ASP.NET 5-Anwendungen über die Befehlszeile auf dem Mac ausgeführt werden?

Allerdings, wenn ich dnx web in Mac Terminal ausführen, um die App zu starten, erhalte ich immer noch Production Umgebung: enter image description here

Kann ich launchSettings.json verwenden, um Umgebungsvariablen (und somit Umgebungstypen) anzugeben, wenn ich Visual Studio-Code auf dem Mac verwende? Oder ist es spezifisch für Visual Studio?

ASP.NET 5 docs suggest, dass launchSettings.json verwendet werden kann, um Umgebungsvariablen zu injizieren. this SO discussion schlägt jedoch vor, sie durch Befehle zu übergeben.

+2

Nach dieser Antwort, launchSettings.json wird nur von VS verwendet: http://StackOverflow.com/a/33374841/40925 9 –

Antwort

12

LaunchSettings.json ist streng ein VS-Konzept. In anderen Fällen werden Sie Umgebungsvariablen wie Befehle unten konfigurieren:

Für Standard-Befehlszeile ausführen, verwenden Sie:

set ASPNET_ENV=Development 

dnx web 

Für Powershell, zu verwenden:

$env:ASPNET_ENV='Development' 

dnx web 

Kürzere Version:dnx web ASPNET_ENV=Development

+2

Die obige Antwort ist korrekt, aber der OP hat angegeben, dass er einen Mac benutzt.Um die Umgebung für die Entwicklung auf einem Mac zu verwenden, verwenden Sie Folgendes vom Terminal: Export ASPNET_ENV = Entwicklung –

+0

Wenn Sie versuchen, dies innerhalb 'project.json'' commands 'Abschnitt statt, erhalten Sie etwas wie:' " Befehle ": {" web ":" Microsoft.AspNet.Server.Kestrel --config hosting.Entwicklung.json --ASPNET_ENV Entwicklung "}'. Recht? – superjos

+2

Die Umgebungsvariable 'ASPNET_ENV' ist veraltet und wurde durch 'ASPNETCORE_ENVIRONMENT' ersetzt (.NET Core RC2) –

0

Wenn Sie der @Chrysalis-Antwort hinzufügen, können Sie auch vermeiden, sich mit der aktuellen Umgebung zu messen, indem Sie die benötigten Variablen in der Befehlszeile übergeben.

Innerhalb project.json Datei, sagen, dass Sie eine web-dev Befehl spezifisch für Entwicklungsumgebung haben:

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

wo man sehen kann, wie beide ASPNET_ENV, Hosting:Environment gesetzt sind, sowie eine spezifische hosting.json Konfiguration aufrufen.
HINWEIS: Befehl ist auf mehrere Zeilen aufgeteilt, nur für die Lesbarkeit, Join erneut vor dem Einfügen in JSON-Datei.

5

Auf einem Mac mit Terminal, Typ:

export ASPNETCORE_ENVIRONMENT=Development && dotnet run 

Anforderungen:

+1

Oder in Windows ASPNETCORE_ENVIRONMENT = Entwicklung &&dotnet run -> dies funktioniert für mich –

Verwandte Themen