我有一个引用IBM-WebSphereMQ dll“amqmdnet.dll”的应用程序。 我正在尝试在本地调试这个控制台应用程序,我从OP团队获得了64位dll。运行该服务的服务器是32位。 尝试调试时,我收到以下错误。
无法加载文件或程序集'amqmdnet,Version = 1.0.0.3, Culture = neutral,PublicKeyToken = dd3cb1c9aae9ec97'或其中一个 依赖。定位程序集的清单定义没有 匹配程序集引用。 (HRESULT异常:0x80131040)
dll给我的版本是7.1.0.0。我在解决方案中添加了对7.1.0.0版本的引用 我不确定它对1.0.0.3版本的期望是什么?我尝试将以下内容添加到我的App.Config:
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="amqmdnet" publicKeyToken="dd3cb1c9aae9ec97"/>
<bindingRedirect oldVersion="1.0.0.3" newVersion="7.1.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
但是,没有效果。它仍然给了我同样的例外。 以下是“探测”期间生成的“Fusionlog”:
=== Pre-bind state information === LOG: User = xxxx\ccc LOG: DisplayName = amqmdnet, Version=1.0.0.3, Culture=neutral, PublicKeyToken=dd3cb1c9aae9ec97 (Fully-specified) LOG: Appbase = file:///C:/xxx/vvv/MouserMQ/services/MMQMonitor/dev/Kk/MMQconfigChange/MMQWatchDogConsole/bin/Debug/ LOG: Initial PrivatePath = NULL Calling assembly : MMQTools, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. === LOG: This bind starts in default load context. LOG: Using application configuration file: C:\NewCodeBase\mm\MouserMQ\services\MMQMonitor\dev\kk\MMQconfigChange\MMQWatchDogConsole\bin\Debug\MMQWatchDogConsole.vshost.exe.Config LOG: Using host configuration file: LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config. LOG: Post-policy reference: amqmdnet, Version=1.0.0.3, Culture=neutral, PublicKeyToken=dd3cb1c9aae9ec97 LOG: Attempting download of new URL file:///C:/nb/Mouser/MouserMQ/services/MMQMonitor/dev/kk/MMQconfigChange/MMQWatchDogConsole/bin/Debug/amqmdnet.DLL. WRN: Comparing the assembly name resulted in the mismatch: Major Version ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
还有什么我想念的吗?我删除并重新添加了对我在解决方案中出现的dll的引用。
有人可以帮我吗?我真的很感激任何帮助:)
答案 0 :(得分:3)
您似乎尚未安装完整的MQ客户端。看起来你刚刚复制了一两个dll。您的应用程序使用amqmdnet.dll版本1.0.0.3进行编译,这意味着它来自MQ Client版本7.0.1,而您收到的amqmdnet.dll版本来自MQ Client版本7.1。我想因为这个你遇到了这个问题。
要解决此问题,我将安装完整的MQ Client版本v7.1。这将安装策略文件,这些文件将重定向使用MQv701编译的应用程序以加载MQv7.1程序集。