Укажите базовый путь приложения в ConfigurationBuilder в beta8

Я использовал для указания базового пути для ConfigurationBuilder следующим образом:

public Startup(IApplicationEnvironment appEnv)
{
    var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
        .AddJsonFile("config.json")
        .AddEnvironmentVariables();

    Configuration = configurationBuilder.Build();
}

Однако, как и в случае с бета8, конструктор ConfigurationBuilder больше не принимает аргумент пути базы приложений, и теперь он генерирует исключение.

Как я могу указать базовый путь?

Ответ 1

Если мы посмотрим на исходный код ConfigurationBuilder, мы увидим, что конструктор больше не принимает строку, представляющую базовый путь приложения. Вместо этого мы должны использовать SetBasePath() метод расширения в интерфейсе IConfigurationBuilder, чтобы указать его:

public Startup(IApplicationEnvironment appEnv)
{
    var configurationBuilder = new ConfigurationBuilder()
        .SetBasePath(appEnv.ApplicationBasePath)
        .AddJsonFile("config.json")
        .AddEnvironmentVariables();

    Configuration = configurationBuilder.Build();
}

Конкретная фиксация может быть найдена здесь.