我尝试使用绑定重定向将chilkat 9.0.8.0升级到9.5.0。我没有访问此dll的未编译源代码,该dll引用它作为第三方应用程序,并且创建者没有回复电子邮件。
下面是我的web.config,它是一个DNN 5.6.3安装,所以在那里有其他绑定重定向
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin\HttpModules;bin\Providers;bin\Modules;bin\Support;" />
<dependentAssembly>
<assemblyIdentity name="ChilkatDotNet2" publicKeyToken="eb5fc1fc52ef09bd">
<bindingRedirect oldVersion="0.0.0.0-9.5.0.0" newVersion="9.5.0.45" />
</assemblyIdentity>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Telerik.Web.UI" publicKeyToken="121fae78165ba3d4" />
<bindingRedirect oldVersion="2008.0.0.0-2020.0.0.0" newVersion="2011.1.519.35" />
</dependentAssembly>
</assemblyBinding>
</runtime>
我也尝试过把它放在machine.config中,下面是机器配置(在frame64文件夹中为im运行64位)
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="ChilkatDotNet2" publicKeyToken="eb5fc1fc52ef09bd">
<bindingRedirect oldVersion="0.0.0.0-9.5.0.0" newVersion="9.5.0.45" />
</assemblyIdentity>
</dependentAssembly>
</assemblyBinding>
</runtime>
我已经使用过fuslogvw.exe,下面是我从中获取的有关绑定不匹配错误的日志(在应用上述内容之后)
*** Assembly Binder Log Entry (30/11/2014 @ 1:04:08 PM) ***
The operation failed.
Bind result: hr = 0x80131040. No description available.
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Running under executable c:\windows\system32\inetsrv\w3wp.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = DC1VS-APP05\AppPool_w1001Bulk
LOG: DisplayName = ChilkatDotNet2, Version=9.0.8.0, Culture=neutral, PublicKeyToken=eb5fc1fc52ef09bd
(Fully-specified)
LOG: Appbase = file:///E:/SITES/
LOG: Initial PrivatePath = E:\SITES\bin
LOG: Dynamic Base = T:\TEMPASPNET\root\6a956f13
LOG: Cache Base = T:\TEMPASPNET\root\6a956f13
LOG: AppName = 94415c18
Calling assembly : EmailManager, Version=2.70.1.23540, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: E:\SITES\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: ChilkatDotNet2, Version=9.0.8.0, Culture=neutral, PublicKeyToken=eb5fc1fc52ef09bd
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///T:/TEMPASPNET/root/6a956f13/94415c18/ChilkatDotNet2.DLL.
LOG: Attempting download of new URL file:///T:/TEMPASPNET/root/6a956f13/94415c18/ChilkatDotNet2/ChilkatDotNet2.DLL.
LOG: Attempting download of new URL file:///E:/SITES/bin/ChilkatDotNet2.DLL.
LOG: Assembly download was successful. Attempting setup of file: E:\SITES\bin\ChilkatDotNet2.dll
LOG: Entering download cache setup phase.
LOG: Assembly Name is: ChilkatDotNet2, Version=9.5.0.0, Culture=neutral, PublicKeyToken=eb5fc1fc52ef09bd
WRN: Comparing the assembly name resulted in the mismatch: Minor Version
ERR: The assembly reference did not match the assembly definition found.
ERR: Setup failed with hr = 0x80131040.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
任何帮助都将不胜感激。
提前致谢,
乔尔