DLL重定向处理

说明

目前正在做的项目批次功能涉及第三方插件,而第三方插件需依赖4.* 版本的Newtonsoft.Json.dll,由于现有功能已经使用6.*版本的Newtonsoft.Json.dll,故采用了dll共存的方法来适应项目需求。


• 方案

1.首先对比下2个版本的dll文件对应publicKeyToken,可在VS命令行工具下查看,具体如下:

Setting environment for using Microsoft Visual Studio 2010 x86 tools.

d:\Program Files\Microsoft Visual Studio 10.0\VC>SN -T "E:\Newtonsoft.Json.dll"

Microsoft(R) .NET Framework 强名称实用工具 版本 4.0.30319.1
版权所有(C) Microsoft Corporation。保留所有权利。

公钥标记为 30ad4fe6b2a6aeed

2.若2个版本的dll文件对应publicKeyToken一致,则可以采用以下方式进行重定向处理,在Web.config增加一下内容:

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
    <dependentAssembly>  
      <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />  
      <codeBase version="6.0.3.17227" href="bin\Newtonsoft.Json.dll" />  
      <codeBase version="4.5.0.0" href="binredirect\Newtonsoft.Json.dll" />  
    </dependentAssembly>  
</assemblyBinding>  
</runtime>
posted @ 2018-04-10 10:07  himismad  阅读(1085)  评论(0编辑  收藏  举报