使用两个SDK在ASP站点中使用相同DLL的两个不同版本

JD *_*son 2 c# asp.net sdk

我正在尝试使用名为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的源代码.

Llo*_*oyd 5

引用两个程序集.在解决方案资源管理器中选择每个,然后查看属性.应该有一个Aliases属性.通常将其设置为global,但您可以更改和/或添加到此.例如,调用第一个引用Lib1和第二个引用Lib2.

在你的C#中你必须把它放在外面,例如:

extern alias Lib1;
Run Code Online (Sandbox Code Playgroud)

然后,您可以引用每个单独的程序集,如下所示:

Lib1::Some.Namespace.Type
Lib2::Some.Namespace.Type
Run Code Online (Sandbox Code Playgroud)

如果你想更好地解释一下这篇博客文章 - http://www.lloydkinsella.net/2012/07/13/extern-alias-underused-or-unknown/