【发布时间】:2019-06-20 08:50:54
【问题描述】:
我正在尝试为我的 Azure Devops Entity Framework 数据库迁移任务设置数据库连接字符串。
我的想法不是在 git 上发布带有数据库连接的配置,而是使用环境变量来使用生产设置(数据库连接字符串)覆盖应用程序配置。
开始迁移时,应用程序不读取设置的环境变量,而是默认使用开发连接字符串。
例如连接字符串条目是:ConnectionStrings.Database
我已经这样设置了:set ASPNETCORE_ConnectionStrings__Database=test
我不工作。 当我在 Visual Studio 调试属性中设置连接字符串时,它可以正常工作。 正如 MS 文档所建议的那样,我在应用程序启动中包含了环境变量。
VS调试器设置变量和控制台设置变量有什么区别?
感谢您的帮助。
更新:
Visual Studio 将环境变量添加到launchSettings.json
【问题讨论】:
-
我认为您不需要
ASPNETCORE。ConnectionStrings__Database应该可以。 -
该部分由配置提供者修剪,我已经在调试器中对其进行了测试,无论我通过控制台设置什么 EnvConfigurationProvider 在列表中都没有实体。是否有任何环境配置文件?喜欢当前的用户、机器或应用上下文?
-
部署应用时如何设置环境变量?你在 Linux 上吗?
-
我们使用 Azure 应用服务,连接字符串和其他设置在那里设置(通过 Web UI),在 Ubuntu 上运行。 Devops 任务正在运行 Visual Studio 2017 windows 代理。
-
这可能是区分大小写的问题。你试过
CONNECTIONSTRINGS__DATABASE吗?
标签: c# asp.net-core .net-core azure-devops