Azure 应用服务 - ASPNETCORE_ENVIRONMENT - 多值问题

Rya*_*ore 2 environment-variables azure production-environment asp.net-core

我在 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 没有为此设置变量。

有什么想法吗?

Rya*_*ore 9

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