Trying to reupload the DD4T.Templates.dll into Tridion 2011 SP1 using the TcmUploadAssembly in the DD4T Tridion Tools folder - I've made sure the necessary DLLs are uploaded - DD4T.ContentModel.Contracts.dll, DD4T.ContentModel.dll, DD4T.Templates.Base.dll - but I keep getting "Error: Unable to load one more of the requested types".
Checking the Fusion log, I can see the following binding problem:
LOG: DisplayName = TcmUploadAssembly.XmlSerializers, Version=5.4.0.509, Culture=neutral, PublicKeyToken=360aac4d3354074b, processorArchitecture=MSIL
(Fully-specified)
LOG: Appbase = file:///D:/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = TcmUploadAssembly.exe
Calling assembly : System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: TcmUploadAssembly.XmlSerializers, Version=5.4.0.509, Culture=neutral, PublicKeyToken=360aac4d3354074b, processorArchitecture=MSIL
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///D:/TcmUploadAssembly.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///D:/TcmUploadAssembly.XmlSerializers/TcmUploadAssembly.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///D:/TcmUploadAssembly.XmlSerializers.EXE.
LOG: Attempting download of new URL file:///D:/TcmUploadAssembly.XmlSerializers/TcmUploadAssembly.XmlSerializers.EXE.
LOG: All probing URLs attempted and failed.
No idea where this TcmUploadAssembly.XmlSerializers comes from?
There is a DD4T.ContentModel.XmlSerializers.dll in the build folder but this seems to be merged with others to form DD4T.Templates.merged.dll - but I've no idea what this is for.
Not sure where to start - is this a DD4T problem or a TcmUploadAssembly problem? (I have tried the same steps with the TcmUploadAssembly in the Tridion 2011 SP1 install but got the same error, albeit for a newer TcmUploadAssembly.XmlSerializers, version 6.1.0.996)
Edit Apologies for the confusion - I had added the DD4T assemblies into the GAC. My original post "I've made sure the necessary DLLs are uploaded" was misleading but I meant loaded into the GAC!
I'll check Mihai's point about registering with .NET 4 - it was late last night when I did this!
Version 5.4 is Tridion 2009. I don't think using TcmUploadAssembly from T2009 would work with T2011. So I definitely suggest using the latest TcmUploadAssembly (v6.1.0.966 for T2011SP1).
Have you registered the Templating DLLs DD4T.ContentModel.Contracts.dll, DD4T.ContentModel.dll and DD4T.Templates.Base.dll into the GAC on your TCM server? Just uploading them is not enough. Have a look at http://code.google.com/p/dynamic-delivery-4-tridion/wiki/40_Templates.
Also I see your error refers to .NET 2. Did you register the DLLs using .NET 4?
The recommended approach is to download the installer from https://code.google.com/p/dynamic-delivery-4-tridion/downloads/detail?name=DD4T-template-installer-1.31.zip. This uploads DD4T.Templates.Merged.dll into Tridion, which includes the template DLL + all dependent DLLs merged together by ILMerge.
If you don't like ILMerge for whatever reason, you can put the following DLLs in the GAC:
You can get these DLLs by downloading the source code, opening the Dynamic Delivery Publishing.sln solution, and building it.