我有一个带有launchSettings.json文件的项目,我们在其中指定了这样的环境:“ Environment”:“ Production”
当我使用docker-compose并设置环境时。变量为“开发”,则项目仍会选择“生产”。如果我删除launchSettings.json文件中的行,则该项目将选择正确的变量(在这种情况下为“开发”)。
我通过 dotnet run 在docker中运行项目,所以我的猜测是当我使用dotnet run时,启动设置会覆盖环境。变量。
是否有防止这种情况发生的方法? (也许发布程序包并直接运行dll?)
我只想使用docker-compose文件设置环境。变量
答案 0 :(得分:3)
按照: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-2.1
可以在项目的Properties \ launchSettings.json文件中设置用于本地计算机开发的环境。在launchSettings.json中设置的环境值会覆盖在系统环境中设置的值。
在这篇文章中,它展示了许多方法,您可以指定当前正在哪个环境中运行。
https://andrewlock.net/how-to-set-the-hosting-environment-in-asp-net-core/