У меня есть приложение, которое загружает две сборные DLL. Первая dll является общей dll, а вторая dll имеет ссылку на другую версию первой dll. Все сборки неподписанны..Net одинаковые типы в двух разных сборках
App.exe -> dll1_v1.dll, dll2.dll
dll2.dll -> dll1_v2.dll
Оба dll1_v1.dll и dll1_v2.dll имеют одинаковые типы, но различные реализации.
Если у меня есть dll1_v1.dll и dll1_v2.dll в пути codebase exe, то оба загружаются, а все экземпляры объектов в 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