IBM MQ客户端向后兼容性

时间:2013-04-17 21:13:13

标签: c# .net ibm-mq

我正在使用7.5.0.0 amqmdnet.dll并使用MQ.NET类构建我的.net应用程序,但是在部署之后,如果目标计算机安装了7.1.0.0 MQ客户端,则应用程序抛出无法找到程序集 7.5.0.0 dll信息,是IBM的MQ客户端版本不兼容客户端吗?

  

System.IO.FileNotFoundException:无法加载文件或程序集   'amqmdnet,版本= 7.5.0.0,文化=中立,    或其中一个依赖项。该   系统找不到指定的文件。

我在官方网页上找不到与此相关的任何信息。

IBM 7.5 link

是否需要始终是目标计算机中的构建版本?我假设如果我使用7.1 dll,它也可以使用7.1更高版本。当我引用7.1.0.0时,我在项目文件中得到它。

<Reference Include="amqmdnet, Version=7.5.0.0, Culture=neutral,  processorArchitecture=MSIL">

<SpecificVersion>False</SpecificVersion> 
 <HintPath>..\..\..\..\..\..\..\..\IBM\7.1.0.0\amqmdnet.dll</HintPath>
 </Reference>

为什么它有7.5.0.0?任何想法(虽然我引用的版本是7.1.0.0)?

1 个答案:

答案 0 :(得分:5)

向后兼容性“问题”不仅限于MQ,它还适用于所有.NET程序集。使用一个版本的.NET程序集编译应用程序并使用较低版本的.NET程序集运行它不受支持,不仅仅是MQ,而是每个.NET程序集。您必须使用与构建应用程序相同版本的程序集。如果您拥有该程序集的更高版本,则需要使用策略文件重定向.NET CLR以加载该.NET程序集的更高版本。