Net dll组件版本兼容问题

 

版本兼容问题的原因

首先让我们简单了解下程序引用的原理:

当运行库试图解析对另一个程序集的引用时,就开始进行定位并绑定到程序集的进程。详细见:运行库如何定位程序集

步骤如下:

第 1 步:检查配置文件(.config文件)

第 2 步:检查以前引用的程序集

第 3 步:检查全局程序集缓存

第 4 步:通过基本代码或探测定位程序集

解决版本兼容前提

简单了解原理以后,常见解决兼容的方法

1. 首先了解你要用那个dll,具体版本是什么,查看版本方法:

1)文件夹里dll文件,右键->属性

Net dll组件版本兼容问题

2)解决方案里引用的dll,右键->属性

 

Net dll组件版本兼容问题

方法1、指定特定版本**

 利用config的bindingRedirect指向特定版本组件

.config添加节点

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdpff.html