码迷,mamicode.com
首页 > 其他好文 > 详细

DLL版本冲突问题

时间:2019-03-04 17:12:29      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:pre   www.   3.5   version   需要   ase   sem   ide   asm   

方法一:

我们可以通过配置web.config(或者app.config)来帮助我们解决这个问题。需要在web.config中配置如下节点:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
        <codeBase version="4.0.3.0" href="C:\v2.0\Newtonsoft.Json.dll" />
        <codeBase version="7.0.0.0" href="C:\v3.5\Newtonsoft.Json.dll" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

    说明1:有的朋友博客上面说,需要在主项目中引用最新版本的DLL,经过实验是不需要这样做的。

    说明2:name填程序集的名称,pulicKeyToken是数字签名,version是程序集的版本,href指不同版本的程序集的地址,我尝试过,无法使用相对路径,必须使用绝对路径,可能使用相对路径也可以,但需要另外的配置,如果有朋友知道,麻烦分享一下。 

 

方法二:

如果在同一个项目中引用不同版本的DLL,但新版本的DLL兼容旧版本的DLL,那么可以采用如下的配置:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

 

 

参考文档:

http://www.cnblogs.com/EugeneMay/p/4249709.html

http://bbs.csdn.net/topics/390359027

DLL版本冲突问题

标签:pre   www.   3.5   version   需要   ase   sem   ide   asm   

原文地址:https://www.cnblogs.com/cn2018/p/10471704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!