Dies sollte wirklich ein Kommentar zu dieser Antwort von @Dmitry sein (aber es ist zu lang, daher poste ich es als separate Antwort):
Sie möchten nicht 'ASPNETCORE_ENVIRONMENT '
(mit einem nachgestellten Leerzeichen) verwenden - es gibt Funktionen in ASP.NET Core, die vom Wert von 'ASPNETCORE_ENVIRONMENT'
(kein nachfolgendes Leerzeichen) abhängen - z . B. das Auflösen von appsettings.Development.json
vs. appsettings.Production.json
(Siehe z. B. Dokumentationsarbeit mit mehreren Umgebungen arbeiten
Und ich denke auch, wenn Sie nur innerhalb des ASP.NET Core-Paradigmas bleiben möchten, möchten Sie die Eigenschaft IHostingEnvironment.Environment
(siehe Dokumentation ) verwenden, anstatt Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")
direkt daraus zu lesen (obwohl die erstere natürlich von der letzteren festgelegt ist). ZB in Startup.cs
public class Startup
{
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
Console.WriteLine("HostingEnvironmentName: '{0}'", env.EnvironmentName);
}
}