我正在尝试使用名为DynamicDashboards的应用程序来创建统计信息中心。这是使用另外两个依赖项Ext.Net 1.5.0.0和Newtonsoft.Json 4.0.8.0预编译的。同时我尝试使用较新版本的Ext.Net 2.1来构建一些需要Newtonsoft.Json 4.5.0.0的模块。
因为在这两种情况下,DLL都具有相同的名称和大多数相同的类型,我得到的错误是DLL中可用的类型和/或加载了错误的版本。
如何将DynamicDashboards与Ext.Net 2.1一起使用并解决冲突? 我没有DynamicDashboards的源代码,我确实有Ext.Net和Newtonsoft.Json的源代码。
答案 0 :(得分:5)
引用两个程序集。在解决方案资源管理器中选择每个,然后查看属性。应该有Aliases
属性。通常将其设置为global
,但您可以更改和/或添加此项。例如,调用第一个引用Lib1
和第二个Lib2
。
在你的C#中,你必须把它放在外面,例如:
extern alias Lib1;
然后您可以引用每个单独的程序集,如下所示:
Lib1::Some.Namespace.Type
Lib2::Some.Namespace.Type
如果您想更好地解释这一点,请阅读此博客文章 - http://www.lloydkinsella.net/2012/07/13/extern-alias-underused-or-unknown/