我使用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,Version = 7.5.0.0,Culture = neutral或其依赖项之一.该系统找不到指定的文件.
我在官方页面上找不到与此相关的任何信息.
这是否必须始终是目标计算机中的构建版本?我假设如果我使用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>
Run Code Online (Sandbox Code Playgroud)
为什么它有7.5.0.0?任何想法(虽然我引用的版本是7.1.0.0)?
向后兼容性"问题"不仅限于MQ,它还适用于所有.NET程序集.使用一个版本的.NET程序集编译应用程序并使用较低版本的.NET程序集运行它不受支持,不仅仅是MQ,而是每个.NET程序集.您必须使用与构建应用程序相同的程序集版本.如果您具有该程序集的更高版本,则需要使用策略文件重定向.NET CLR以加载该.NET程序集的更高版本.
| 归档时间: |
|
| 查看次数: |
2190 次 |
| 最近记录: |