Функция Azure хочет две версии одной и той же DLL - PullRequest
0 голосов
/ 04 мая 2018

У меня есть функция Azure, которая вызывает статический метод из DLL, которую я создал отдельно и загрузил в папку функций вместе со всеми ее зависимостями (все DLL из папки выпуска были загружены в функцию Azure).

Когда я пытаюсь вызвать функцию, я получаю сообщение об ошибке Не удалось загрузить файл или сборку 'Microsoft.SharePoint.Client.Runtime, версия = 16.1.3912.1204

Если я загружаю эту версию Microsoft.SharePoint.Client.Runtime, я получаю сообщение об ошибке, что она хочет другую версию снова: Не удалось загрузить файл или сборку 'Microsoft.SharePoint.Client.Runtime, версия = 16.0.0.0

Как это может быть? Он успешно работает за пределами Azure. Почему он хочет две версии одной и той же DLL? Проект ссылается на 16.1.3912.1204, и это версия библиотеки DLL в папке \ bin \ release.

Примечание: моя папка .NET GAC содержит версию 16.0.0.0. Если по какой-то причине внутри библиотеки Microsoft.SharePoint.Client необходимо ссылаться на обе версии, как я могу включить две версии одного и того же файла в функцию лазури?

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Обеспечение того, чтобы все ссылки на проекты, указывающие на dll-файлы папки (nuget) для устранения конфликтов версий, а затем загрузка всех DLL-файлов из папки bin, решило проблему в этом случае.

0 голосов
/ 04 мая 2018

Не пытайтесь загружать глобальные пакеты nuget вручную. Вместо этого обратитесь к этой теме: Как я могу использовать пакеты NuGet в моих функциях Azure? для импорта библиотек нугетов в экосистему функций Azure.

После этого вы можете напрямую использовать эти библиотеки c # как, например

using Microsoft.SharePoint;
...