I’m attempting to setup a new .NET application using Tridion 2011 SP1 and Smart Target 2010 SP1. So far, I have got the website / server roles / configuration all setup, but when running the website in a browser I get the following error
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
Calling assembly : 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.
I’ve checked the website bin directory and found it’s using a reference for Tridion.ContentDelivery.dll (v6.1.0.348) – which is used on a development version of the site and works alongside smart target. However using Fusion logging and reflector Tridion.SmartTarget.Interop.dll is trying to find Tridion.ContentDelivery.dll v6.0.0.481 – which is available from Tridion 2011 and not Tridion 2011 SP1
I might put in dependency bindings in the web.config to tell the app where the new assembly is, but anybody know why this would be occurring?
Fixed – Installation was based from upgrading SDL Tridion 2011 to SP1 – required an installation of assemblies in windows GAC as described here:
http://sdllivecontent.sdl.com/LiveContent/web/pub.xql?action=home&pub=SDL_Tridion_2011_SPONE&lang=en-US#addHistory=true&filename=MakingCustomCodeWorkWithNewCDAssemblies.xml&docid=task_A3E701D765BB44A4AE3BFDA6A537DBFA&inner_id=&tid=&query=&scope=&resource=&eventType=lcContent.loadDoctask_A3E701D765BB44A4AE3BFDA6A537DBFA