我写了一个.NET程序,需要引入几个DLL(这几个DLL是强命名的),但是在其他的机器上这几个DLL的版本和我工程引用的DLL版本可能会不一样,我想让我得程序能够使用不同版本的DLL,应该怎么设置呢,我尝试了在csproj文件中将DLL后面的版本等信息删除,可是还是不行

解决方案 »

  1.   

    .net可以避免dll地狱问题,你看一下.NET框架程序设计(修订版)
    那本书有详细的描述。
      

  2.   

    通过版本(GUID)就可以控制啦
      

  3.   

    <?xml version="1.0"?> 
    <configuration> 
    <runtime> 
    <assemblyBinding> 
    <dependentAssembly> 
    <assemblyIdentity 
    name="" 
    publicKeyToken="60c29e5f0af3e9bb"> 
    </assemblyIdentity> 
    </dependentAssembly> 
    <bindingRedirect oldversion="0.0.0.0-2.2.2.2" 
    newversion="2.3.0.0"> 
    </bindingRedirect> 
    </assemblyBinding> 
    </runtime> 
    </configuration> 
      

  4.   


    我也尝试了这种办法,问题是如果publicKeyToken不同的话,这个方法貌似就不行了
    还有其他的方法么?