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_ENVIRONMENT
auf 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
set
gefolgt 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
Configure
entsprechend 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.