这确实应该是@Dmitry对此答案的评论(但时间太长,因此我将其发布为单独的答案):
您不想使用'ASPNETCORE_ENVIRONMENT '(带有尾随空格)-ASP.NET Core中的某些功能取决于'ASPNETCORE_ENVIRONMENT'(没有尾随空格)的值-例如,appsettings.Development.jsonvs的解析appsettings.Production.json。(例如,请参阅使用多个环境文档文档
而且我猜想,如果您只想保留在ASP.NET Core范式之内,则想使用IHostingEnvironment.Environment(请参阅文档)属性,而不是Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")直接读取(尽管前者当然是从后者设置的)。例如在Startup.cs中
public class Startup
{
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
Console.WriteLine("HostingEnvironmentName: '{0}'", env.EnvironmentName);
}
}