【发布时间】:2017-04-28 21:24:47
【问题描述】:
我有一些依赖外部 .Net 程序集运行的项目。这些是从我的程序外部安装的,因此我无法直接控制正在使用的版本。此外,当然会安装更新。
例如,在一种情况下,我正在访问一个提供 .Net 接口来控制它的硬件设备。当用户最初安装设备时,他们会安装包含的驱动程序。我写程序的时候这个驱动可能是3.0.4.0。最新版本可能是 3.1.8.0。
当发生这种情况时我的程序无法加载程序集并抱怨清单定义不正确。下面显示了一个特定的异常消息。
另一个例子是标签程序。他们提供了一个 .Net 接口,允许我的程序通过他们的系统打印标签。安装程序的更新版本是致命的。
这里是具体的异常信息:
Could not load file or assembly 'SDK.NET.Interface, Version=17.1.0.0,
Culture=neutral, PublicKeyToken=865eaf3445b2ea56' or one of its
dependencies. The located assembly's manifest definition does not match
the assembly reference.
如果我在我的计算机上安装此版本的应用程序,然后引用更新版本的程序集并编译,我就可以开始了。 . .暂时。
但是,我再次遇到这个问题只是时间问题。
我尝试将引用程序集的Specific Version 属性设置为False,但这并没有影响问题。
解决问题的正确方法是什么?
【问题讨论】: