我有一个引用 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 的引用,因为它出现在我的解决方案中。
有人可以帮我弄这个吗?我真的很感激任何帮助:)