我有一个加载两个程序集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?