最近将应用程序从2.0升级到2.1框架。在dev框(本地)中,一切正常。使用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”环境变量设置:
我不知道为什么它必须表现得如此!如何使应用程序读取环境变量的实际值?它从何处读取“发展”的价值?
答案 0 :(得分:0)
在发布期间,角度模板会使用以下条目生成一个web.config:
function showMenu() {
var x = document.getElementById('mainmenu');
if (x.style.display == "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
};
这就是为什么将其检测为开发!但是仍然不确定为什么默认情况下此条目会出现在发布的输出中。