在一个程序中 引用了两个不同名称的程序集,他们中都含有某个类,且其命名空间也相同,此时会有冲突。
解决:程序集属性中都有一个别名属性(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引用共存