执行应用程序,它引用了多个不同版本

问题描述:

我创建一个测试项目比较EF4的性能EF5,我想能够为每个EF版本,其中引用了正确的EF版本独立的DLL组件,但我希望能够从单个可执行文件启动测试,此时这意味着我有2个位于我的exe目录中的EF dll副本,这是不好的。执行应用程序,它引用了多个不同版本

我明白,你能以某种方式在使用一种叫做探测一个DLL的多个版本,但我不太清楚如何实现它,没有任何人有这样一个代码示例?还是有更好的办法

我解决了这个用在我的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>