使用两个具有相同命名空间的.NET库

cdm*_*kay 4 .net c# vb.net dll

我目前正在为公司维护一些旧代码.正如它会发生的那样,我正在修改的当前应用程序使用旧版本的内部库(我们称之为Lib1.dll).他们还有一个名为Lib2.dll的新版本库,它以多种方式改进了以前的库.

不幸的是,Lib2并不向后兼容Lib1.更糟糕的是,它们都使用相同的命名空间Product.Common.

如何在同一个项目中使用Lib2和Lib1?现在,如果我添加对它们的引用,VS告诉我某些类是不明确的(这是有道理的,因为它们使用相同的命名空间).

基本上,我需要这样的东西:

Imports Lib1:Product.Common.Class
Run Code Online (Sandbox Code Playgroud)

我正在使用VB.NET 1.1.

Sam*_*uel 6

我找到了一个博客条目,它在C#中有一个解决方案,不确定VB.NET中的解决方案.

Extern别名演练C#2.0:在一个应用程序中使用相同dll的不同版本


编辑:

看起来你运气不好.似乎没有.NET 1.1的解决方案.


Joe*_*orn 5

您可以添加另一个项目来"托管"您的一个Lib项目.基本上只需添加一个图层来将命名空间嵌套到更深层次,这样它就不会再引起冲突.