【发布时间】:2019-01-14 23:29:46
【问题描述】:
我的应用程序引用了 Sage50 SDK,我需要支持多个版本的 SDK。
在 Visual Studio 中,每个版本的 SDK 都有自己的项目并引用了 SDK DLL。
但是当我构建解决方案时,DLL 会相互覆盖,只剩下 1 个版本。
我无法重命名 DLL,因为 SDK 按名称加载其他 DLL,并且在重命名时会出错。他们已经签名了。
遇到这种情况我该怎么办?
【问题讨论】:
-
Sage50 DLL 是强命名的吗? (即,对它们的引用是否包括版本和文化信息以及 PublicKeyToken?)
-
@Flydog57 是的。他们甚至签名。
-
而且没有“向后兼容”保证?如果有,绑定重定向可以确保您获得最新版本。您是否与 Sage50 出版商谈过?
-
不幸的是没有。当我使用较新的 SDK 打开旧版本时,出现错误:“无法打开公司文件,因为它的版本 (25.20.0.2) 与应用程序 (26.10.0.1) 不兼容。”
标签: c# visual-studio msbuild