XMSFactoryFactory.GetInstance(XMSC.CT_WMQ)返回致命错误:无法初始化XMSFactoryFactory

时间:2017-04-14 02:09:05

标签: c# ibm-mq xms

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

  

致命错误。无法初始化XMSFactoryFactory

     

无法加载文件或程序集'IBM.XMS.Client.Impl,Version = 8.0.0.5,   Culture = neutral,PublicKeyToken = d2666ab12fca862b'或其中一个   依赖。

     

系统无法找到该文件   指定。“:”IBM.XMS.Client.Impl,Version = 8.0.0.5,Culture = neutral,   公钥= d2666ab12fca862b

这是我到目前为止所做的:

  • 在我的计算机上安装了MQ Client 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版本,连接到队列时没有问题。

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

不幸的是,在两个版本都正常工作之前,我无法删除v7.5.0。

1 个答案:

答案 0 :(得分:2)

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

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