1

I am using DXA 1.2 and OOB DD4T Dlls. Everything seems to be working fine with OOB Views and other views that I wrote except for one page + region + Entity view combination.

DXA keeps throwing an error that XMLSerializers DLL v2.0.4.0 is needed. I am not sure why DD4T needs this DLL only for my content and works fine for all other Components and Schemas.

The Schema I am using has only one Text Box (no RTF) field and the view uses only DXARaw method to write out the content of the text box to the page. Is there any repository from where I can pick this version of the DLL and install it in GAC? I was able to find V2.0.7.0 but this is not helping due to the DLL's version difference.

Here is the complete Stack Trace -

[FileLoadException: Could not load file or assembly 'DD4T.ContentModel.XmlSerializers, Version=2.0.4.0, Culture=neutral, PublicKeyToken=4450e3c7f68bf872' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)] DD4T.Serialization.XmlSerializerService.Deserialize(String input) +0 DD4T.Factories.PageFactory.GetIPageObject(String pageStringContent) +280 DD4T.Factories.PageFactory.TryFindPage(String url, IPage& page) +1071 Sdl.Web.Tridion.Mapping.DefaultProvider.GetPage(String url, Localization localization) +168 Sdl.Web.Tridion.Mapping.DefaultProvider.GetPageModel(String url, Localization localization, Boolean addIncludes) +190 Sdl.Web.Mvc.Controllers.PageController.Page(String pageUrl) +461 lambda_method(Closure , ControllerBase , Object[] ) +130 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters) +242 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) +39 System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +12 System.Web.Mvc.Async.WrappedAsyncResult2.CallEndDelegate(IAsyncResult asyncResult) +139 System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +112 System.Web.Mvc.Async.<>c__DisplayClass48.<InvokeActionMethodFilterAsynchronouslyRecursive>b__41() +452 System.Web.Mvc.Async.<>c__DisplayClass48.<InvokeActionMethodFilterAsynchronouslyRecursive>b__41() +452 System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +15 System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +37 System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +241 System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +111 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +19 System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +51 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +111 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +288

1
  • Have you tried to debug the application and see if the problem is as you mention the missing DD4T.ContentModel.XmlSerializers or could it be one of its dependencies? Sep 8, 2016 at 14:51

1 Answer 1

2

If all is well, your Pages contain DD4T JSON. However, if a Page does not contain JSON (for example, you accidentally used the Default Page Template which renders ugly HTML), DD4T can't deserialize and will try to fallback to XML deserialization.

For DXA we don't support the legacy DD4T XML format, so we don't even ship the XMlSerializers assembly, resulting in the given error.

Bottom line: your Page problably uses the wrong Page Template. You can verify that using a CM Preview. That should render DD4T JSON, not HTML.

1
  • At times silly mistakes like this costs a lost of time :)
    – Bharath
    Sep 8, 2016 at 21:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.