这确实应该是@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
{
//<...>
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
Console.WriteLine("HostingEnvironmentName: '{0}'", env.EnvironmentName);
//<...>
}
//<...>
}