Ошибка сборки модели службы с функциями Azure V2+ (.NET Core 2.1)
Я использовал функцию azure V2(.net core 2.1) в своем приложении функции azure. Я использовалSystem.ServiceModel.Primitives
nuget для моего приложения-функции, которое использует ServiceBusEnvironment
пакеты в нем.
Я могу скомпилировать код и запустить функцию. При вызове функции я получаю эту ошибку времени выполнения.
Could not load type 'System.ServiceModel.Channels.IBindingRuntimePreferences'
from assembly 'System.ServiceModel, Version=4.0.0.0'
Я много чего погуглил. Но не повезло.
Затем я попытался понизить уровень моей лазурной функции с V2 до V1(.NET Framework 4.7), и она снова начала работать.
Мне нужно знать, что я делаю не так в случае V2. А как я могу не получить ошибку в случае V2? Есть ли разрешение на то же самое?
2 ответа
Я только что пришел к решению после долгих поисков, что функция azure v2 основана на ядре.net, а библиотеки служебной шины не работают с v2(ядро.net)
Единственное решение, которое я нашел, - это переход на V1, поскольку функции Azure V1 поддерживают классы.net FrameWork.
Корпорация Майкрософт предоставила соответствующие сборки в виде пакетов в NuGet.
System.ServiceModel.Primitives
базовый пакет; при необходимости добавьте остальные в свой проект.
Я верю для загрузки System.ServiceModel.Channels
вам понадобится **System.ServiceModel.Http**
установлен в вашем проекте, если он не является зависимостью, проверьте, работает ли он после установки правильной версии System.ServiceModel.Http.
Добавление того же пакета NuGet "System.ServiceModel.Http" в проект приложения самостоятельно, чтобы на него правильно ссылаться. Вы можете сделать это, используя пункт меню "Управление пакетом NuGet" или просто обновив файл packages.config, например
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="System.ServiceModel.Http" version="4.4.1" targetFramework="net461" />
<package id="System.ServiceModel.Primitives" version="4.4.1" targetFramework="net461" />
</packages>
Дополнительная ссылка:
https://github.com/dotnet/wcf/issues/2546
Надеюсь, это поможет.