欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

DLL重定向处理

程序员文章站 2022-10-05 15:36:04
说明 目前正在做的项目批次功能涉及第三方插件,而第三方插件需依赖4. 版本的Newtonsoft.Json.dll,由于现有功能已经使用6. 版本的Newtonsoft.Json.dll,故采用了dll共存的方法来适应项目需求。 • 方案 1.首先对比下2个版本的dll文件对应publicKeyTo ......
说明

目前正在做的项目批次功能涉及第三方插件,而第三方插件需依赖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>