欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【让你的.NET程序兼容不同版本的Dll文件】,下面是详细的分享!
让你的.NET程序兼容不同版本的Dll文件
前段时间写的一个WinForm的.NET程序。因为引用了不少的库文件,但是最近这些库文件因为修正了一些Bug和算法。但是主的程序文件没有怎么改动。所以就不像把这个主程序重新编译了。于是就把所有的新版DLL文件拷贝到运行目录下,希望主程序能够直接调用新版的库文件。结果发现原来这些库文件都用StrongName签了名的。主程序一调用就出错,说找不到该版本的文件。
后来查了一下MSDN,发现只要在config里面加入runtime节点就可以了。
<runtime>
<assemblyBindingxmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentityname="MyAssembly"
publicKeyToken="2b7c3a3291de04"
culture="neutral"/>
<bindingRedirectoldVersion="3.0.0.8"
newVersion="4.1.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
不过这有个前提条件就是这两个DLL的PublicKeyToken是一样的,就是需要用同一个sn文件签名的才行。
当然如果你的库文件根本就没有用StrongName签名的话,就不用考虑版本问题了。
以上所分享的是关于让你的.NET程序兼容不同版本的Dll文件,下面是编辑为你推荐的有价值的用户互动:
相关问题:C#导入dll时,出现警告:x.dll或它的某个依赖项要...
答:解决方法有2个: 1、重新生成一个与该项目的.NET Framework版本相同或比它低版本的dll,然后再将新生成的dll导入该项目; 2、新建一个与当前dll相同版本.NET Framework的项目,将现有项目内容拷贝到新项目里,一般只需更改文件名和命名空间就可... >>详细
相关问题:用.net2008将类封装成一个dll文件,文件默认版本号...
答:项目属性里面第一个选项卡里面有个“程序集信息”按钮。 >>详细
相关问题:Visual Basic .NET 问题 如何实现以下效果? 打开...
答:所有的项目引用最好都是在设计时引用。 但是动态引用并非不可以。 请参见http://bbs.csdn.net/topics/30464160 其中讲解的十分详细。 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
