Возможно ли иметь несколько версий одной и той же сильноименованной сборки, загруженной в один и тот же процесс? Существует много аналогичных вопросов, но ответы на них, похоже, не работают.Ссылка на несколько версий одной и той же сборки
Причина, по которой я прошу, заключается в том, что мы должны использовать newer version (4.0.0.0)
из SomeAssembly.dll
, но некоторые ссылочные dll зависят от older version (3.0.0.0)
этой DLL.
Я попытался с помощью ниже сборкой привязки конфигурации переназначения, но в итоге с компиляции ошибок, потому что мои сборки зависят от более новой версии библиотеки DLL и эта конфигурация полностью перекрывая связь и используются только version 3.0.0.0
. Я ожидаю, что это провалится во время выполнения. Здесь используется компилятор с помощью конфигурационных файлов?
Version 4.0.0.0
упоминается в проекте как обычно. Version 3.0.0.0
копируется на выход проекта.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="SomeAssembly" publicKeyToken="123" culture="neutral" />
<bindingRedirect oldVersion="3.0.0.0" newVersion="3.0.0.0" />
<codeBase version="4.0.0.0" href="bin/SomeAssembly.dll" />
<codeBase version="3.0.0.0" href="SomeAssembly.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
У вас есть те же пространства имен и имена классов в вашей новой версии библиотеки? –
@ThomasWeller, да – Kimi