0

我正在尝试使用 .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, PublicKeyToken=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.4 版本,连接到队列没有问题。

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

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

4

1 回答 1

2

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

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

于 2017-04-14T04:33:57.970 回答