【发布时间】:2018-04-06 16:03:38
【问题描述】:
我有一个硬件,制造商为此提供了一个 DLL 和一个示例 Visual Studio 项目。
我基于这个项目写了一个工具,使用最新版本的DLL,运行良好。
现在,还有其他(旧)工具使用其他版本的 DLL。这些工具也可以单独运行。
当我运行这两个工具(又一个,不是同时!)而没有在两者之间重新启动 Windows 时,就会出现问题。
然后我收到“版本不匹配”错误。我怀疑 Windows 仍然保持加载 DLL,尽管首先运行的程序正确终止。
由于我无法访问“其他工具”的源代码,有什么办法
- 在我的程序启动时强制使用正确版本重新加载 DLL 和;
- 当我的程序退出时强制 Windows 卸载 DLL
所以不会有任何问题?
【问题讨论】:
-
是项目中的引用吗?如果是这样,请查看其属性。每个项目是否正确引用了不同的 dll?如果是这样,那么“特定版本”是否设置为
true?这可能就是您所需要的。
标签: c# .net windows dll version