.Net中相同命名空间的dll引用冲突

在一个程序中  引用了两个不同名称的程序集,他们中都含有某个类,且其命名空间也相同,此时会有冲突

解决:程序集属性中都有一个别名属性(Aliases),默认为global,可以自己修改

引用时使用extern alias,区分不同版本dll中的类

extern alias low;
extern alias high;

namespace MultipleVersionTest
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine(low::NameFactory.NameProvider.GetName());
            System.Console.WriteLine(high::NameFactory.NameProvider.GetName());
            System.Console.ReadLine();
        }
    }
}

更多参考:.Net中使用aliases让相同命名空间的dll引用共存

 

posted @ 2020-07-27 20:09  peterYong  阅读(1044)  评论(0编辑  收藏  举报