In der Datei „launchSettings.json“ könnt Ihr konfigurieren, welchen Wert für ASPNETCORE_ENVIRONMENT gesetzt wird. Das geht sowohl direkt mit einem Texteditor oder auch über die Projekteinstellungen in Visual Studio.
Ich wollte das noch etwas auf die Spitze treiben:
Wir haben Projekte, bei denen unterschiedliche Entwickler am Projekt (via SVN/GIT) verteilt entwickeln. Ich wollte für jeden Entwickler eine eigene Anwendungskonfigurationsdatei „appsettings.json“ haben.
Also bin ich so vorgegangen:
-
In der „launchSettings.json“-Datei die Umgebungsvariable
ASPNETCORE_ENVIRONMENTauf den Wert einer anderen Umgebungsvariable setzen:"ASPNETCORE_ENVIRONMENT": "%USERNAME%"%USERNAME%ist in diesem Fall eine automatisch von Windows gesetzte Umgebungsveriable mit dem jeweils angemeldeten Windows-Nutzer. Beispielsweise „ukeim“ oder „jdoe“ oder „mmueller“.Ihr könnt Euch über die Befehlszeile („DOS-Box“) anzeigen lassen, wie die aktuellen Umgebungsvariablen lauten, indem Ihr einfach
setgefolgt von der Eingabetaste eingebt. -
Pro Entwickler eine weitere „appsettings.json“-Datei anlegen. Der Dateiname entspricht dabei dem Muster der schon vorhandenen Datei „appsettings.Development.json“.
Also beispielsweise „appsettings.ukeim.json“, „appsettings.jdoe.json“ oder „appsettings.mmueller.json“.
-
In der Datei „Startup.cs“, Methode
Configureentsprechend die Prüfung auf Development-Umgebung ergänzen. Also z. B. vorher:if (env.IsDevelopment()) { // ...und nachher:
if (env.IsDevelopment() || env.IsEnvironment(@"ukeim") || env.IsEnvironment(@"jdoe") || env.IsEnvironment(@"mmueller")) { // ... -
In den Razor-Sichten, die auch die Umgebung prüfen (bei mir war das z. B. die Datei „_Layout.cshtml“) die zusätzlichen Umgebungen ergänzen. Also z. B. vorher:
<environment names="Development"> ...und nachher:
<environment names="Development,ukeim,jdoe,mmueller"> ...Achtung, das kann an mehreren Stellen in mehreren .CSHTML-Dateien der Fall sein.
Anschließend konnte ich erfolgreich meine Umgebung für mich persönlich automatisch selektieren lassen.