这确实应该是@Dmitry对此答案的评论(但时间太长,因此我将其发布为单独的答案):
您不想使用'ASPNETCORE_ENVIRONMENT '
(带有尾随空格)-ASP.NET Core中的某些功能取决于'ASPNETCORE_ENVIRONMENT'
(没有尾随空格)的值-例如,appsettings.Development.json
vs的解析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);
}
}