Переменные среды не видны в провайдере конфигурации - PullRequest
2 голосов
/ 20 июня 2019

Я пытаюсь настроить строку подключения к базе данных для моей задачи миграции базы данных Azure Devops Entity Framework.

Моя идея не публиковать конфигурацию с подключениями к базе данных в git, а использовать переменные среды для переопределения конфигурации приложения с производственными настройками (строка подключения к БД).

Когда миграция запущена, заданная переменная среды не читается приложением, вместо этого по умолчанию используется строка подключения dev.

Например, запись строки подключения: ConnectionStrings.Database

Я установил это так: set ASPNETCORE_ConnectionStrings__Database=test

у меня не работает. Когда я устанавливаю строку подключения в свойствах отладки Visual Studio, она работает правильно. Я включил переменные окружения при запуске приложения, как подсказывает документация MS.

В чем разница между переменными набора отладчика VS и консольными наборами?

Спасибо за вашу помощь.

UPDATE: Visual Studio добавляет переменные окружения к launchSettings.json image

1 Ответ

0 голосов
/ 20 июня 2019

Ребята, это был случай умственного сбоя ... Я не подталкивал провайдера переменных среды к ветви, поэтому задача Azure Devops не читала их:

       WebHost.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                config.AddEnvironmentVariables(prefix: "ASPNETCORE_");
            })
            .UseStartup<Startup>()
            .UseWebRoot("wwwroot");

Это немного смущает :-(
Но это может помочь кому-то в будущем.
Спасибо 8ytan за ваши комментарии.

...