.NET编译的第三方DLL引用冲突

时间:2010-09-27 16:32:02

标签: c# .net vb.net dll gac

我正在使用Umbraco(.NET CMS),并且它引用了DLL的特定版本(请参阅下面的1 Umbraco参考)。这很好,直到我尝试挂钩引用同一DLL的不同版本的.NET MailChimp API(参见下面的2 PerceptiveMCAPI)。

我可以想出几个解决这个问题的方法

一个。获取Umbraco或PerceptiveMCAPI源并引用相同版本的DLL,实际上不希望出于兼容性原因这样做

湾转储GAC中的2个DLL,我想避免这种情况,因为如果有人忘记了我会看到部署问题(我知道我们应该进行自动部署,但时间有限)

我记得有第三个选项可以指定在配置中使用的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 PerceptiveMCAPI

// 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 

1 个答案:

答案 0 :(得分:2)

完全 GAC存在的原因。我能想到的唯一其他解决方法是将这些DLL填充到子目录中,以便CLR找不到它们并实现AppDomain.AssemblyResolve。您现在可以为每个新版本更新维护该代码。