Вы можете использовать BindingRedirect для перенаправления YourAssembly.dll 1.1.0.0 на 1.2.0.0.
Кто-нибудь знает, возможно ли это сделать, если имена сборки разные.
например.
YourAssembly1.dll(v1.1) перенаправляет на YourAssembly2.dll(v2.8)
Ответ 1
Если я правильно помню, я сделал это около 4 лет назад, используя AppDomain.AssemblyResolve событие. Идея состоит в том, что вы получаете запрос AssemblyName, и вы возвращаете сборку. В некоторых случаях я даже мог генерировать DynamicAssembly во время выполнения и вводить это. Я забываю, какие последствия имеет сильное именование.
Ответ 2
Это не должно быть возможным из-за того, что ваше собственное приложение имеет ссылку на YourAssembly1.
Когда среда выполнения загружает ваше приложение, она пытается загрузить сборку YourAssembly1.dll (применяя пробные и перенаправленные версии), и поэтому она не может загружать сборку YourAssembly2.
Ответ 3
Используйте ILDASM и ILASM для декомпиляции, изменения и перекомпиляции исходной сборки, чтобы она ссылалась на YourAssembly2.dll.
Почему бы не использовать инфраструктуру инъекций зависимостей, такую как Unity или Spring.NET, для чего-то подобного? Настройка того, какой файл для загрузки может быть выполнена довольно легко.
Или, может быть, загрузите файл YourAssembly1.dll(v1.2) и передайте его функции YourAssembly2.dll?