【发布时间】:2018-08-21 17:29:01
【问题描述】:
最近将应用程序从 2.0 升级到 2.1 框架。在开发箱(本地)中,一切正常。使用SPA template
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
}
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if(env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
当代码发布到暂存和生产环境时,我们得到了 npm 异常。然后我添加了一个记录器来验证它正在检测的环境是什么。
Log.Information($"EnvironmentName = {env.EnvironmentName}");
Log.Information($"ASPNETCORE_ENVIRONMENT = {Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}");
这是登台服务器中的日志结果!
我们确实在同一台服务器上运行了其他 ASP.Net 代码 web api,它读取实际值。那就是“分期”。
“ASPNETCORE_ENVIRONMENT”环境变量设置:
我不知道为什么它必须这样!如何让应用程序读取环境变量的实际值?从哪里读取“发展”的价值?
【问题讨论】:
-
能否提供完整的启动代码?
-
默认情况下,
ASPNETCORE_ENVIRONMENT是Production,看来你在某处更改为Development。检查launchSettings.json和web.config。我建议你尝试Setting environment variables 将ASPNETCORE_ENVIRONMENT设置为Staging。 -
我发现了问题。谢谢周涛,
标签: asp.net-web-api asp.net-core asp.net-core-webapi angular-template