Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.Net在两个不同的程序集中具有相同的类型_.net - Fatal编程技术网

.Net在两个不同的程序集中具有相同的类型

.Net在两个不同的程序集中具有相同的类型,.net,.net,我有一个加载两个程序集DLL的应用程序。第一个dll是一个公共dll,第二个dll引用了第一个dll的另一个版本。所有程序集均未签名 App.exe-->dll1\u v1.dll,dll2.dll dll2.dll-->dll1_v2.dll dll1_v1.dll和dll1_v2.dll的类型相同,但实现方式不同 如果我在exe的代码库路径中同时有dll1_v1.dll和dll1_v2.dll,那么这两个都会被加载,并且app.exe中的所有对象实例都指向dll1_v1.dll,而dll2中

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

App.exe-->dll1\u v1.dll,dll2.dll
dll2.dll-->dll1_v2.dll

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

如果我在exe的代码库路径中同时有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?

您可以通过关键字引用同一类的不同版本。很好地解释一下。

在应用程序中删除对DLL_v1的引用只是为了回避这个问题吗?我不记得您是否失去了对这些类型的访问,因为它们是间接引用程序集中的依赖项。