3
我有一個加載兩個程序集dll的應用程序。第一個DLL是一個常見的DLL,第二個DLL引用另一個版本的第一個DLL。所有程序集都是無符號的。.Net在兩個不同的程序集中的相同類型
APP.EXE - > dll1_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的引用是否簡單地迴避了這個問題?我不記得你是否失去對這些類型的訪問權限,因爲它們是間接引用的程序集中的依賴項。 – Tejs 2011-03-18 02:39:25