XMSFactoryFactory.GetInstance(XMSC.CT_WMQ) returns Fatal error: Failed to initialize XMSFactoryFactory

XMSFactoryFactory.GetInstance(XMSC.CT_WMQ) returns Fatal error: Failed to initialize XMSFactoryFactory

我正在尝试使用 .net 和 MQ 客户端 v8.0.0.5 连接到 IBM 消息队列,但我一直收到以下错误:

Fatal error. Failed to initialize XMSFactoryFactory

Could not load file or assembly 'IBM.XMS.Client.Impl, Version=8.0.0.5, Culture=neutral, PublicKeyToken=d2666ab12fca862b' or one of its dependencies.

The system cannot find the file specified.":"IBM.XMS.Client.Impl, Version=8.0.0.5, Culture=neutral, PublicKeyToken=d2666ab12fca862b

这是我目前所做的:

现在我的机器上也安装了 v7.5.0.4 版本,连接到队列没有问题。

我注意到的另一件事是 GAC 中没有 v8.0.0.5 的程序集,但存在 v7.5.0.4 的程序集。会是这个原因吗?

不幸的是,我无法删除 v7.5.0.4,直到两个版本都正常工作。

是的,MQ v8.0.0.5 XMS .NET 程序集不在 GAC 中很可能是原因。

您可以查看使用重定向的替代方法,更新 app.config 文件以使用您的应用程序所需的正确版本的程序集。在您的 MQ 安装目录中查找名为 NonPrimaryRedirect.config 的文件。此文件包含应用程序查找特定版本的 MQ/XMS .NET 程序集所需的示例配置。将此文件的内容复制到您应用程序的 app.config 文件中并尝试。您必须确保所有 href 属性指向正确的路径。