.Net:无法从程序集“IBM.XMS.Client.WMQ,版本=8.0.0.7 加载类型 'IBM.WMQ.ManagedCommonServices'
.Net : Could not load type 'IBM.WMQ.ManagedCommonServices' from assembly 'IBM.XMS.Client.WMQ, Version=8.0.0.7
使用 .net 框架 Web API 项目,我们想为我们的 MQ 队列创建一个侦听器(消费者)。我们使用 XMS.Net 因为我们对接收消息的异步方式感兴趣。但是,在创建连接时出现错误:
Could not load type 'IBM.WMQ.ManagedCommonServices' from assembly 'IBM.XMS.Client.WMQ, Version=8.0.0.7, Culture=neutral, PublicKeyToken=d2666ab12fca862b'.
根据 http://www-01.ibm.com/support/docview.wss?uid=swg1IC89514,此问题已得到解决,但我们仍在使用 8.0.0.7 版时遇到此问题。
这对于 .Net 框架控制台应用程序工作正常,但对于 Web API 项目它失败了。
作为解决方法,我们还尝试在 app.config 中为 Web API 添加以下内容,但没有成功 -
<appSettings> <add key="MQCSCLASS" value="amqmdnet(IBM.WMQ.ManagedCommonServices)"/> </appSettings>
注意:我的机器上没有安装MQ客户端。我们已将 amqmdmsg、amqmdnet、amqmdnm、amqmdnsp、amqmdxcs dll 引用到项目中。
如果您使用的是 MQ v9.1,可以尝试以下步骤
1) 在环境中设置以下变量
DEVPATH=&RedistributablePackagePath&\bin
2) 将绑定重定向标记添加到应用程序的 App.config 文件,因为应用程序是使用较低的 MQ 版本编译的,它必须是 运行 针对较高版本。为此,您可以复制位于“&MQInstallPath&\Tools\dotnet\samples\cs\base”
的 NonPrimaryRedirect.config 文件的内容
注意:您必须将app.config文件中的"newVersion"属性值修改为您想要运行反对的版本你的情况应该是 9.1.0.0 并将 "href" 修改为可重新分发的包路径。
3) 将以下标签添加到 app.config 文件
<runtime>
<developmentMode developerInstallation="true" />
</runtime>
<appSettings>
<add key="MQCSCLASS"
value="amqmdnet(IBM.WMQ.ManagedCommonServices)"/>
</appSettings>
使用 .net 框架 Web API 项目,我们想为我们的 MQ 队列创建一个侦听器(消费者)。我们使用 XMS.Net 因为我们对接收消息的异步方式感兴趣。但是,在创建连接时出现错误:
Could not load type 'IBM.WMQ.ManagedCommonServices' from assembly 'IBM.XMS.Client.WMQ, Version=8.0.0.7, Culture=neutral, PublicKeyToken=d2666ab12fca862b'.
根据 http://www-01.ibm.com/support/docview.wss?uid=swg1IC89514,此问题已得到解决,但我们仍在使用 8.0.0.7 版时遇到此问题。
这对于 .Net 框架控制台应用程序工作正常,但对于 Web API 项目它失败了。
作为解决方法,我们还尝试在 app.config 中为 Web API 添加以下内容,但没有成功 -
<appSettings> <add key="MQCSCLASS" value="amqmdnet(IBM.WMQ.ManagedCommonServices)"/> </appSettings>
注意:我的机器上没有安装MQ客户端。我们已将 amqmdmsg、amqmdnet、amqmdnm、amqmdnsp、amqmdxcs dll 引用到项目中。
如果您使用的是 MQ v9.1,可以尝试以下步骤
1) 在环境中设置以下变量
DEVPATH=&RedistributablePackagePath&\bin
2) 将绑定重定向标记添加到应用程序的 App.config 文件,因为应用程序是使用较低的 MQ 版本编译的,它必须是 运行 针对较高版本。为此,您可以复制位于“&MQInstallPath&\Tools\dotnet\samples\cs\base”
的 NonPrimaryRedirect.config 文件的内容注意:您必须将app.config文件中的"newVersion"属性值修改为您想要运行反对的版本你的情况应该是 9.1.0.0 并将 "href" 修改为可重新分发的包路径。
3) 将以下标签添加到 app.config 文件
<runtime>
<developmentMode developerInstallation="true" />
</runtime>
<appSettings>
<add key="MQCSCLASS"
value="amqmdnet(IBM.WMQ.ManagedCommonServices)"/>
</appSettings>