Выполнение приложения, которое ссылается на несколько разных версий сборки

Я создаю тестовый проект для сравнения производительности EF4 с EF5, и я хочу иметь возможность иметь отдельную DLL для каждой версии EF, которая ссылается на правильную версию EF, но я хочу иметь возможность запускать тесты из одного исполняемого файла, на данный момент это будет означать, что у меня есть 2 копии EF dll, которые находятся в моем каталоге exe, что не годится.

Я понимаю, что вы можете каким-то образом иметь несколько версий DLL, используя то, что называется зондирование, но я не слишком уверен, как это реализовать, у кого-нибудь есть пример этого кода? или есть лучший способ

1 ответ

Решение

Я решил это с помощью следующего в моем app.config

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="EntityFramework" version="5.0.0.0"
                          publicKeyToken="b77a5c561934e089"
                          culture="neutral" />
        <codeBase version="5.0.0.0" href="..\..\..\packages\EntityFramework.5.0.0-beta1\lib\net45\EntityFramework.dll" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EntityFramework" version="4.1.0.0"
                          publicKeyToken="b77a5c561934e089"
                          culture="neutral" />
        <codeBase version="4.1.0.0" href="..\..\..\packages\EntityFramework.4.1.10331.0\lib\EntityFramework.dll" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
Другие вопросы по тегам