XMSFactoryFactory.GetInstance(XMSC.CT_WMQ) возвращает фатальную ошибку: не удалось инициализировать XMSFactoryFactory
Я пытаюсь подключиться к очереди сообщений IBM, используя.net и MQ client v8.0.0.5, но продолжаю получать следующую ошибку:
Фатальная ошибка. Не удалось инициализировать XMSFactoryFactory
Не удалось загрузить файл или сборку "IBM.XMS.Client.Impl, версия =8.0.0.5, культура = нейтральная, PublicKeyToken=d2666ab12fca862b" или одна из ее зависимостей.
Системе не удается найти указанный файл.":"IBM.XMS.Client.Impl, версия =8.0.0.5, культура = нейтральная, PublicKeyToken=d2666ab12fca862b
Вот что я сделал до сих пор:
- На моем компьютере установлен клиент MQ v8.0.0.5 (x64).
- Ссылались на следующие сборки:
- amqmdnet.dll
- amqmdnsp.dll
- amqmdxcs.dll
- IBM.XMS.dll
- IBM.XMS.Admin.dll
- IBM.XMS.Client.Impl.dll
- IBM.XMS.NLS.dll
- IBM.XMS.Provider.dll
- IBM.XMS.Util.dll
Теперь у меня также установлена версия v7.5.0.4, и у меня нет проблем с подключением к очереди.
Еще одна вещь, которую я заметил, это то, что в GAC нет сборок для v8.0.0.5, но присутствуют сборки для v7.5.0.4. Может ли это быть причиной?
К сожалению, я не могу удалить v7.5.0.4, пока обе версии не работают нормально.
1 ответ
Да, MQ v8.0.0.5 XMS .NET сборок, которых нет в GAC, скорее всего, является причиной.
Вы можете взглянуть на альтернативу использования перенаправления, обновите файл app.config, чтобы использовать правильную версию сборок, необходимую вашему приложению. Найдите в вашем каталоге установки MQ файл с именем NonPrimaryRedirect.config
, Этот файл содержит пример конфигурации, необходимой приложению для поиска конкретной версии сборки MQ/XMS .NET. Скопируйте содержимое этого файла в файл app.config вашего приложения и попробуйте. Вы должны убедиться, что все href
атрибуты указывают на правильный путь.