首页 > 解决方案 > Azure 应用服务 - ASPNETCORE_ENVIRONMENT - 多值问题

问题描述

我在 Azure 应用服务和 ASPNETCORE_ENVIRONMENT 上遇到了一个轻微的(但不影响功能)问题。在我的本地开发环境中,我使用命令 setx ASPNETCORE_ENVIRONMENT "Development" 将我的本地设置为 Development。当我在本地输出 Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") 的值时,它会正确返回“Development”并正确选择正确的 Development appSettings JSON 文件。到目前为止,一切都很好。

这就是事情变得奇怪的地方(或者它可能是正确的?)。在 Azure 应用服务中,我将应用程序设置部分中的 ASPNETCORE_ENVIRONMENT 值设置为“生产”。当我在应用程序中输出此值时,它会显示“生产;开发”。我期待“生产”。应用程序正确地提取了生产 appSetting 值,但为什么我会同时看到这两个值?我能够调整我的代码以检查值 .Contains("Production") 是否用于生产特定功能,但我无法弄清楚为什么这两个值都存在。我研究得很透彻,找不到原因。我的解决方案和项目文件没有设置变量。我的 Azure Build/Pipline 没有为此设置任何变量。

有什么想法吗?

标签: azureasp.net-coreenvironment-variablesproduction-environment

解决方案


这最终是由添加“Web.config”文件并使用 ASPNETCORE_ENVIRONMENT 预填充它的进程引起的。从 Web.config 中删除值有效。从那以后,我只在机器/系统/云应用程序上设置环境值。


推荐阅读