内容交付的智能目标互操作引用不同的程序集

时间:2012-07-09 09:01:33

标签: tridion

我正在尝试使用Tridion 2011 SP1和Smart Target 2010 SP1设置新的.NET应用程序。到目前为止,我已经设置了网站/服务器角色/配置,但在浏览器中运行网站时出现以下错误

Could not load file or assembly 'Tridion.ContentDelivery, Version=6.0.0.481, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IO.FileLoadException: Could not load file or assembly 'Tridion.ContentDelivery, Version=6.0.0.481, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable  c:\windows\system32\inetsrv\w3wp.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = NT AUTHORITY\NETWORK SERVICE
LOG: DisplayName = Tridion.ContentDelivery, Version=6.0.0.481, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b
 (Fully-specified)
LOG: Appbase = file:///C:/Websites/Live/malvern.com.en/
LOG: Initial PrivatePath = C:\Websites\Live\malvern.com.en\bin

调用程序集:Tridion.SmartTarget.Interop,Version = 1.0.1.0,Culture = neutral,PublicKeyToken = ddfc895746e5ee6b。

 LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Websites\Live\malvern.com.en\web.config
LOG: Using host configuration file:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Tridion.ContentDelivery, Version=6.0.0.481, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/8694a1d7/ddf129e2/Tridion.ContentDelivery.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/8694a1d7/ddf129e2/Tridion.ContentDelivery/Tridion.ContentDelivery.DLL.
LOG: Attempting download of new URL file:///C:/Websites/Live/malvern.com.en/bin/Tridion.ContentDelivery.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Minor Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

我已经检查了网站bin目录,发现它正在使用Tridion.ContentDelivery.dll(v6.1.0.348)的引用 - 它在网站的开发版本上使用,并与智能目标一起使用。但是使用Fusion日志记录和反射器Tridion.SmartTarget.Interop.dll试图找到Tridion.ContentDelivery.dll v6.0.0.481 - 可以从Tridion 2011而不是Tridion 2011 SP1获得

我可能会在web.config中放入依赖项绑定来告诉应用程序新程序集的位置,但有人知道为什么会发生这种情况吗?