.Net: Не удалось загрузить тип "IBM.WMQ.ManagedCommonServices" из сборки "IBM.XMS.Client.WMQ, версия =8.0.0.7
Используя проект веб-API.net Framework, мы хотим создать слушателя (потребителя) для нашей очереди MQ. Мы используем XMS.Net, так как нас интересует асинхронный стиль получения сообщений. Однако при создании соединения мы получаем ошибку: не удалось загрузить тип 'IBM.WMQ.ManagedCommonServices' из сборки 'IBM.XMS.Client.WMQ, версия =8.0.0.7, Culture= нейтральный, PublicKeyToken=d2666ab12fca862b'.
Согласно http://www-01.ibm.com/support/docview.wss?uid=swg1IC89514 эта проблема исправлена, но мы все еще сталкиваемся с ней, используя версию 8.0.0.7.
Это нормально работает для консольного приложения.Net Framework, но с проектом Web API это терпит неудачу.
В качестве обходного пути мы также попытались добавить следующее в app.config для веб-API, но безуспешно -
<appSettings> <add key="MQCSCLASS" value="amqmdnet(IBM.WMQ.ManagedCommonServices)"/> </appSettings>
Примечание. Клиент MQ не установлен на моем компьютере. Мы упомянули - dll amqmdmsg, amqmdnet, amqmdnm, amqmdnsp, amqmdxcs в проект.
Любая помощь будет оценена. Спасибо!
1 ответ
Если вы используете MQ v9.1, вы можете попробовать следующие шаги
1) Установите следующую переменную в среде DEVPATH=&RedistributablePackagePath&\bin
2) Добавьте тег перенаправления привязки в файл App.config приложения, так как приложение было скомпилировано с использованием более низкой версии MQ, и его необходимо запускать с более высокой версией. Для этого вы можете скопировать содержимое файла NonPrimaryRedirect.config, расположенного по адресу "&MQInstallPath&\Tools\dotnet\samples\cs\base"
Примечание. Необходимо изменить значение атрибута "newVersion" в файле app.config на версию, с которой вы хотите работать, в вашем случае это должно быть 9.1.0.0, а в "href" - путь к распространяемому пакету.
3) Добавьте следующие теги в файл app.config
<runtime>
<developmentMode developerInstallation="true" />
</runtime>
<appSettings>
<add key="MQCSCLASS"
value="amqmdnet(IBM.WMQ.ManagedCommonServices)"/>
</appSettings>