导航:业界 | 认证 | 工具 | 图形 | 技术 | 系统 | 网络 | 办公 | 网页 | 文摘 | 动画
您当前的位置:diva8.com -> I T -> 技术 -> .Net专栏 -> I T内容
栏目导航
· .Net专栏 · Script
· ASP学院 · PHP学院
· Web服务器 · CGI学院
· XML学院 · SQL学院
· JSP学院 · SMS学院
热门I T
· [组图] 音频后期处理Adobe ...
· [组图] Photoshop--照片处理...
· [组图] 廉颇老矣?IE7.0 Bet...
· [图文] DuDu下载加速器推出...
· [组图] 清晰还原!Photoshop...
· [组图] 用photoshop给图片祛...
· [组图] DuDu 下载加速器试用...
· [组图] 新春特别版:PPLIVE...
· [图文] 让查找更方便些 腾讯...
· [组图] 廉颇老矣?IE7.0 Bet...
相关I T
· 小知识:认识DLL文件...
· Windows中DLL文件基...
· 教你认识动态链接库...
· 使用ASP中的VB Acti...
· 利用ASP在客户端注册...
· 教你认识DLL文件
让你的.NET程序兼容不同版本的Dll文件
作者:admin  来源:齐昌网络  发布时间:2005-3-21 15:44:41  发布人:qichang

减小字体 增大字体


前段时间写的一个WinForm的.NET程序。因为引用了不少的库文件,但是最近这些库文件因为修正了一些Bug和算法。但是主的程序文件没有怎么改动。所以就不像把这个主程序重新编译了。于是就把所有的新版DLL文件拷贝到运行目录下,希望主程序能够直接调用新版的库文件。结果发现原来这些库文件都用Strong Name签了名的。主程序一调用就出错,说找不到该版本的文件。

后来查了一下MSDN,发现只要在config里面加入runtime节点就可以了。

 <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="MyAssembly"
                              publicKeyToken="2b7c3a3291de04"
                              culture="neutral" />
     <bindingRedirect oldVersion="3.0.0.8"
                             newVersion="4.1.0.0"/>
         
         </dependentAssembly>
      </assemblyBinding>
   </runtime>

不过这有个前提条件就是这两个DLL的PublicKeyToken是一样的,就是需要用同一个sn文件签名的才行。

当然如果你的库文件根本就没有用Strong Name签名的话,就不用考虑版本问题了。



[] [返回上一页] [打 印] [收 藏]
∷相关I T评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 在线人数:
diva8.com Copyright © 2001-2006 diva8.com All Rights Reserved .粤ICP备05014750号