我在用Umbraco http://en.wikipedia.org/wiki/Umbraco(.NET CMS),并且它引用了特定版本的 DLL(请参阅下面的 1 Umbraco 参考)。这很好,直到我尝试连接 .NET MailChimp API,该 API 引用同一 DLL 的不同版本(请参阅下面的 2 PerceptiveMCAPI)。
我可以想到解决这个问题的几个选项
A。获取 Umbraco 或 PerceptiveMCAPI 源并引用相同版本的 DLL,出于兼容性原因确实不想这样做
b.将 2 个 DLL 转储到 GAC 中,我想避免这种情况,因为我发现如果有人忘记就会出现部署问题(我知道我们应该进行自动部署,但时间有限)
我记得还有第三个选项来指定在配置中使用什么版本的 DLL。这可能吗?它的代码是什么?
1 Umbraco 参考
// Assembly Reference CookComputing.XmlRpcV2
Version: 2.4.0.0
Name: CookComputing.XmlRpcV2, Version=2.4.0.0, Culture=neutral, PublicKeyToken=a7d6e17aa302004d
2 感知MCAPI
// Assembly PerceptiveMCAPI, Version 1.2.4.3
Location: C:\Work\AEGPL\AEGPL_Website\bin\PerceptiveMCAPI.dll
Name: PerceptiveMCAPI, Version=1.2.4.3, Culture=neutral, PublicKeyToken=null
Type: Library
This is exactlyGAC 存在的原因。我能想到的唯一其他解决方法是将这些 DLL 填充到子目录中,这样 CLR 就无法找到它们并实现 AppDomain.AssemblyResolve。现在,您可以为每个新版本更新维护该代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)