0

我在我的计算机上安装了 MQ 客户端(7.0.1),并使用 c# 编写了一个应用程序来连接到远程 Websphere MQ 服务器。我在我的项目中引用了 amqmdnet.dll。下面是我的连接代码:

MQEnvironment.Host = ip 地址;

MQEnvironment.Channel = channel name;
MQEnvironment.Port = 1414;
MQQueueManager qmgr = new MQQueueManager("qm name");

但是当 new MQQueueManager() 时,为“IBM.WMO.MQ.QueueManager”抛出一个类型初始化器。我对这个例外感到非常困惑。你能帮助我吗?

4

1 回答 1

1

你能给出异常的完整堆栈跟踪吗?当创建类实例失败时会发生类型初始化程序异常。这个异常基本上是一个内部异常的包装器。所以了解内部异常的细节是有帮助的。您可以将其MQQueueManager qmgr = new MQQueueManager("qm name");放在一个try/catch块中并打印完整的异常。

据我所知,如果未安装 WMQ 客户端库,通常会发生此异常。amqmdnet 程序集引用其他 WMQ 库,例如 amqxcs2.dll,如果未安装它们,则会引发此异常。

您可以使用 dspmqver -a 命令输出来检查已安装的内容。

于 2012-04-30T04:12:58.923 回答