I've just upgraded from 4.5.2 to 4.7 and am seeing that familiar "Error parsing XSLT file" error everywhere on the front end. In the past (as with my upgrade from 4.0.2 to 4.5.2) I have always fixed this by setting:
<UseLegacyXmlSchema>True</UseLegacyXmlSchema>
In my umbracoSettings.config. However, this isn't working this time. Can you still use the old XML schema in 4.7? I can't find any documentation dealing with that if that's an issue. Does anyone have any ideas on why I might be getting this error still? I've recycled my app pool and my site several times.
To get the "full" error message, try adding ?umbDebugShowTrace=1 to your URL and look at the trace log at the bottom for any errors in red. Or try saving an XSLT file.
In 4.7 you have to remove some old DLL files during the upgrade process, or else your XSLTs will fail to render. The DLLs to remove (per Codeplex) are /bin/Microsoft.Scripting.dll, /bin/Iron * .dll, /bin/RazorEngine * .dll
Also umbraco.MacroEngines.Legacy if you have it.
Otherwise the full error should give you some inidication of which DLL is causing it - paste it here if you're not sure.
Well here's what happened. I deleted the DLL's you suggested and restarted, but then I got errors saying that MicrosoftScripting was missing?! So I re-added them so that I could get the pure error to post here:
Error occured
System.Exception: Unable to load one or more of the types in assembly 'umbraco.standardFormhandlers, Version=1.0.3625.27286, Culture=neutral, PublicKeyToken=null'. Exceptions were thrown:
System.TypeLoadException: Could not load type 'umbraco.interfaces.IFormhandler' from assembly 'interfaces, Version=1.0.4085.20549, Culture=neutral, PublicKeyToken=null'.
System.TypeLoadException: Could not load type 'umbraco.interfaces.IFormhandler' from assembly 'interfaces, Version=1.0.4085.20549, Culture=neutral, PublicKeyToken=null'.
System.TypeLoadException: Could not load type 'umbraco.interfaces.IFormhandler' from assembly 'interfaces, Version=1.0.4085.20549, Culture=neutral, PublicKeyToken=null'.
at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Assembly assembly, Type attribute)
at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Type attribute)
at umbraco.macro.GetXsltExtensionsImpl()
at umbraco.macro.b__4()
at umbraco.cms.businesslogic.cache.Cache.GetCacheItem[TT](String cacheKey, Object syncLock, CacheItemPriority priority, CacheItemRemovedCallback refreshAction, CacheDependency cacheDependency, TimeSpan timeout, GetCacheItemDelegate`1 getCacheItem)
at umbraco.macro.GetXsltExtensions()
at umbraco.macro.AddMacroXsltExtensions()
at umbraco.presentation.webservices.codeEditorSave.SaveXslt(String fileName, String oldName, String fileContents, Boolean ignoreDebugging)
I get this error for every XLST script that is called. No mention of a DLL though. Thoughts?
Thank you guys -- it was indeed the need to delete umbraco.standardFormhandlers.dll. That did the trick. I also had to delete VistaDB*.dll. All others don't seem to have a negative effect.
4.7 Upgrade Causing Broken XSLT's
Hi,
I've just upgraded from 4.5.2 to 4.7 and am seeing that familiar "Error parsing XSLT file" error everywhere on the front end. In the past (as with my upgrade from 4.0.2 to 4.5.2) I have always fixed this by setting:
In my umbracoSettings.config. However, this isn't working this time. Can you still use the old XML schema in 4.7? I can't find any documentation dealing with that if that's an issue. Does anyone have any ideas on why I might be getting this error still? I've recycled my app pool and my site several times.
Thanks,
Garrett
Hi Garrett,
To get the "full" error message, try adding ?umbDebugShowTrace=1 to your URL and look at the trace log at the bottom for any errors in red. Or try saving an XSLT file.
In 4.7 you have to remove some old DLL files during the upgrade process, or else your XSLTs will fail to render. The DLLs to remove (per Codeplex) are /bin/Microsoft.Scripting.dll, /bin/Iron * .dll, /bin/RazorEngine * .dll
Also umbraco.MacroEngines.Legacy if you have it.
Otherwise the full error should give you some inidication of which DLL is causing it - paste it here if you're not sure.
Hope this helps,
Tom
Thanks for your reply Tom.
Well here's what happened. I deleted the DLL's you suggested and restarted, but then I got errors saying that MicrosoftScripting was missing?! So I re-added them so that I could get the pure error to post here:
I get this error for every XLST script that is called. No mention of a DLL though. Thoughts?
Thanks again,
Garrett
I think that one should be removed also: umbraco.standardFormhandlers.dll - this was from an older version I believe.
Have a look at this topic: http://our.umbraco.org/forum/ourumb-dev-forum/bugs/18381-All-xslt-files-broken-after-upgrading-to-47. That solved it for me.
Jeroen
Thank you guys -- it was indeed the need to delete umbraco.standardFormhandlers.dll. That did the trick. I also had to delete VistaDB*.dll. All others don't seem to have a negative effect.
//Garrett
is working on a reply...