Ошибка загрузки транзитивных зависимостей функций Azure

Я использую среду выполнения Azure functions 1.x и использую .NET framework 4.6.2. В моем решении есть два проекта.

1) Проект приложения-функции 2) Библиотека классов, ориентированная на платформу 4.6.2. В нем есть весь код для моей бизнес-логики. Эта библиотека классов имеет другие зависимости, которые добавляются nuget.

Проект приложения-функции ссылается на библиотеку классов через ссылку на проект в решении.

Когда я создаю проект, все компилируется без каких-либо ошибок и в папке bin моего проекта приложения-функции я вижу dll библиотеки Business Logic, а также ее зависимости.

Но когда я запускаю проект, он выдает ошибку "Could not load assembly". Эта сборка относится к транзитивной зависимости моей библиотеки бизнес-логики, которая была добавлена ​​через nuget.

Я сравнил версию и все остальное, и в папке bin моего проекта приложения-функции я вижу все необходимые зависимости, а затем, почему среда выполнения функций не может загрузить эти файлы. Я делаю что-то неправильно

Пожалуйста, порекомендуйте.


person MAQ    schedule 09.05.2018    source источник
comment
На данный момент это постоянная проблема, см. эту проблему   -  person Mikhail Shilkov    schedule 09.05.2018


Ответы (1)


Обходной путь может заключаться в создании проекта библиотеки классов для ваших функций вместо проекта приложения-функции.

https://docs.microsoft.com/en-us/azure/azure-functions/functions-dotnet-class-library

Мы сделали это без проблем с версиями зависимостей, например. Newtonsoft

Минус в том, что вы не можете отлаживать свою функцию локально в VS. Но если у вас есть юнит-тесты, это не так уж больно.

person wolszakp    schedule 10.05.2018
comment
Разве сам шаблон проекта приложения-функции не является библиотекой классов? - person MAQ; 10.05.2018
comment
Верно. Однако сборка для него другая. Посмотрите на структуру папок bin. Раньше я получал проект как вывод корзины для копирования библиотеки классов и настраивал json - без каких-либо проблем с зависимостями. Прямо сейчас я использую проект функции и мне нужно решить проблемы с зависимостями. Вот почему я бы назвал это обходным путем :) - person wolszakp; 10.05.2018
comment
Эта библиотека классов может быть в том же решении, что и проект приложения-функции, или должна быть в другом решении (и создать пакет nuget библиотеки классов и импортировать пакет в проект приложения-функции) - person joacoleza; 23.05.2018