替换DLL时经常出现版本不一致的问题,怎么解决?
2010-09-25 13:28
435 查看
以下内容来源于portal的解答: 前段时间写的一个WinForm的.NET程序。因为引用了不少的库文件,但是最近这些库文件因为修正了一些Bug和算法。但是主的程序文件没有怎么改动。所以就不像把这个主程序重新编译了。于是就把所有的新版DLL文件拷贝到运行目录下,希望主程序能够直接调用新版的库文件。结果发现原来这些库文件都用Strong Name签了名的。主程序一调用就出错,说找不到该版本的文件。 后来查了一下MSDN,发现只要在config里面加入runtime节点就可以了。 <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Practices.EnterpriseLibrary.Logging"
publicKeyToken="b03f5f7f11d50a3a"
culture="neutral" />
<bindingRedirect oldVersion="3.0.0.0" newVersion="3.1.0.0"/> </dependentAssembly>
</assemblyBinding>
</runtime> 不过这有个前提条件就是这两个DLL的PublicKeyToken是一样的,就是需要用同一个sn文件签名的才行。 当然如果你的库文件根本就没有用Strong Name签名的话,就不用考虑版本问题了。
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Practices.EnterpriseLibrary.Logging"
publicKeyToken="b03f5f7f11d50a3a"
culture="neutral" />
<bindingRedirect oldVersion="3.0.0.0" newVersion="3.1.0.0"/> </dependentAssembly>
</assemblyBinding>
</runtime> 不过这有个前提条件就是这两个DLL的PublicKeyToken是一样的,就是需要用同一个sn文件签名的才行。 当然如果你的库文件根本就没有用Strong Name签名的话,就不用考虑版本问题了。
相关文章推荐
- windows7下php5.4成功安装imageMagick,及解决php imagick常见错误问题。(phpinfo中显示不出来是因为:1.imagick软件本身、php本身、php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个文件放到/php/目录下面)
- U880 告诉你们怎么强制刷机,终极刷机,解决一切刷机出现的问题U
- python32版本,出现问题“struct.error: argument for 's' must be a bytes object”的解决办法
- mysql4.1以上版本连接时出现Client does not support authentication protocol #1251错误问题解决办法
- 解决MyEclipse中tomcat出现的小问题:JDK Name, 以及Can't load AMD 64-bit .dll on a IA 32-bit platform
- TD安装及使用过程中经常出现的问题及解决方法
- IO 流读取文件时候出现乱码 文件编码格式问题 怎么转换解决方法
- svn更新代码的时候出现cleanup的问题,网上找到了答案,我是解决了,不知道其他版本适不适用!!!
- android模拟器经常出现的一些问题及解决办法
- 安装Mysql最新版本mysql-5.7.10-winx64出现的几个问题解决
- Struts2初学devMode发展模式,更改action出现映射错误解决办法(原因是版本问题,轻松解决)
- 解决VS2013调试ASP.NET中无法调试的问题:当前不会命中断点。在 XXXX.dll 中找到了 XXX.cs 的副本,但是当前源代码与 XXXX.dll 中内置的版本不同。
- js中拼装Html时 在onclick 中传值出现问题解决办法,及替换全部的方法
- Centos6.5 python升级成2.7版本出现的一些问题解决方法
- 更新Javajdk出现版本不一致问题
- 出现"此版本的sql server不支持用户实例登陆标志" 问题的解决方法
- mysql4.1以上版本连接时出现Client does not support authentication protocol #1251错误问题解决办法
- VS开发环境下生成和调用dll出现的问题和解决方法-1
- MAC:解决Mac雪豹开机后经常出现风火轮的问题