Функция Azure config.json не находит файл - PullRequest
0 голосов
/ 22 января 2019

У меня есть проект функции Azure .NET Core 2.2 Я добавил файл config.json с другой конфигурацией для своих функций и установил опцию «Копировать всегда».Он отлично работает для моего локального проекта.

enter image description here

Но не работает после публикации в Azure:

Файл конфигурации'config.json' не найден и не является обязательным.Физический путь - «D: \ Windows \ system32 \ config.json».

Я использую его внутри функции:

    var config = new ConfigurationBuilder()
         .SetBasePath(Directory.GetCurrentDirectory())
         .AddJsonFile("config.json")
         .Build();

    IDomainActions domainActions = new DomainActions(config);

почему так и что не так?

1 Ответ

0 голосов
/ 22 января 2019

Проблема была в том, что когда мы запускаем функцию Azure локально, файл config.json доступен Directory.GetCurrentDirectory(), но публикуется на портале Azure Directory.GetCurrentDirectory() + @"\site\wwwroot"

Для единого подхода я обнаружил, что могу сделать это следующим образом:

        var config = new ConfigurationBuilder()
             .SetBasePath(context.FunctionAppDirectory)
             .AddJsonFile("config.json")
             .Build();

где context - входной параметр:

    public async static Task Run(
        [QueueTrigger("domain-registation", Connection = "StorageConnectionString")]DomainForRegistration queueItem,
        ExecutionContext context,
        ILogger log)

Спасибо Николаус за подсказку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...