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



我正在尝试使用一个名为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中可用类型的错误和/或加载了错误的版本。

如何将DynamicDashboard与Ext.Net 2.1一起使用并解决冲突?我没有DynamicDashboards的源代码,我有Ext.Net和Newtonsoft.Json.的源代码

引用这两个程序集。在解决方案资源管理器中选择上的每个,然后查看属性。应该有一个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/

最新更新