.Net两种不同组件中的相同类型

时间:2010-10-15 21:03:24

标签: .net

我有一个加载两个程序集dll的应用程序。第一个dll是一个常见的dll,第二个dll引用了第一个dll的另一个版本。所有程序集都是未签名的。

App.exe - > dll1_v1.dll,dll2.dll
dll2.dll - > dll1_v2.dll

dll1_v1.dll和dll1_v2.dll都有相同的类型,但实现方式不同。

如果我在exe的codebase路径中同时拥有dll1_v1.dll和dll1_v2.dll,则两者都会被加载,app.exe中的所有对象实例都指向dll1_v1.dll,而dll2指向dll1_v2.dll。

如果我需要将dll1_v2指向dll1_v1,从代码库中删除dll1_v2.dll并添加AssemblyResolve事件处理程序是否正确,以便我可以返回dll1_v1.dll的程序集来代替dll1_v1.dll?

1 个答案:

答案 0 :(得分:1)

您可以通过extern alias关键字引用同一班级的不同版本。 Following blog post很好地解释了。