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>