I just upgraded to Umbraco 4.7 and now all my xslt files are broken. Each xslt marco now displays "Error parsing XSLT file: ...". What could I have done wrong to break all my xslt files?
Hmm I'm getting this error when I'm debugging the page:
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Scripting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Yes I also removed those. Can't seem to get it fixed. Even if I add the Microsoft.Scripting.dll again it still gives me errors. Don't have much time for this site so downgraded to 4.6.1 for now again and everything works. Will use 4.7 for new sites.
I've succeed in upgrading my website from 4.6.1 to 4.7.0 local, but when I copy the local website to the live environment I still get broken XSLT files. It's the exact same code with the same database as the local one. Any idea why my XSLT still breaks?
Have you tried running the XSLT preview in the developer section for the XSLT Macro's that are not working?
Usually this gives you the actual error message that is causing the issue which will then help you ( or us, if you post it here ) to solve the problem.
Thanks for the tip. In 4.6.1 the saving works in the XSLT preview. In 4.7.0 I get this exception:
Error occured
System.NullReferenceException: Object reference not set to an instance of an object. at umbraco.macro.GetXsltExtensionsImpl() 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)
Republish doens't help. When I add umbdebugshowtrace=true I get this:
Unable to load one or more of the types in assembly 'SD.LLBLGen.Pro.RiaSupportClasses, Version=3.1.0.0, Culture=neutral, PublicKeyToken=ca73b74ba4e3ff27'. Exceptions were thrown: System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. Unable to load one or more of the types in assembly 'SD.LLBLGen.Pro.RiaSupportClasses, Version=3.1.0.0, Culture=neutral, PublicKeyToken=ca73b74ba4e3ff27'. Exceptions were thrown: System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Assembly assembly, Type attribute) at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Type attribute) at umbraco.macro.GetXsltExtensionsImpl() 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.macro.GetXsltTransformResult(XmlDocument macroXML, XslCompiledTransform xslt, Dictionary`2 parameters) at umbraco.macro.loadMacroXSLT(macro macro, MacroModel model, Hashtable pageElements)
Seems to be related to one my own dll's, but why would that work locally?
It's quite possible that one of the DLL's you are referencing uses an assembly which has been installed on the server and is GAC'ed - but is missing on the production machine. I've recently had a simular issue upgrading a site from 4.5 to 4.7:
I removed all those dll's and the dll I'm referencing to is used on a lot of other sites as well and it works there. I'm currently out of idea's what might be the problem :(. I'm 100% we have .NET 4.0 because all the other websites also run on it. In IIS it also has ASP.NET v4.0 as the application pool.
All xslt files broken after upgrading to 4.7
Hello,
I just upgraded to Umbraco 4.7 and now all my xslt files are broken. Each xslt marco now displays "Error parsing XSLT file: ...". What could I have done wrong to break all my xslt files?
I updated the web.config like described here: http://umbraco.codeplex.com/releases/view/62573 and I walked through all the steps in http://our.umbraco.org/wiki/install-and-setup/upgrading-an-umbraco-installation. Probably there is a small setting somewhere wrong, but I don't know which one...
Jeroen
Hmm I'm getting this error when I'm debugging the page:
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Scripting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
In http://umbraco.codeplex.com/releases/view/62573 it says I need to delete the Microsoft.Scripting.dll....
Jeroen
Have you also removed the IronWhatever DLLs (IronPython, IronRuby...)?
Yes I also removed those. Can't seem to get it fixed. Even if I add the Microsoft.Scripting.dll again it still gives me errors. Don't have much time for this site so downgraded to 4.6.1 for now again and everything works. Will use 4.7 for new sites.
Jeroen
You might want to look at: http://our.umbraco.org/forum/getting-started/installing-umbraco/17890-XSLT-macros-not-getting-rendered-after-upgrading-to-47-RC
You also need to delete RazorEngine.*.dll, Microsoft.Dynamic.dll, umbraco.MacroEngines.Legacy.dll...
Thanks Stephen I'll have a look at it. Couldn't find that topic myself because the searching on 'our' seems to have some problems...
Jeroen
I've succeed in upgrading my website from 4.6.1 to 4.7.0 local, but when I copy the local website to the live environment I still get broken XSLT files. It's the exact same code with the same database as the local one. Any idea why my XSLT still breaks?
Jeroen
Hi Jeroen,
Have you tried running the XSLT preview in the developer section for the XSLT Macro's that are not working?
Usually this gives you the actual error message that is causing the issue which will then help you ( or us, if you post it here ) to solve the problem.
Cheers,
Chris
Weird.. Can you try to save an xslt file from within Umbraco on your server and see what the specific error is that you get there?
Thanks for the tip. In 4.6.1 the saving works in the XSLT preview. In 4.7.0 I get this exception:
Error occured
System.NullReferenceException: Object reference not set to an instance of an object.
at umbraco.macro.GetXsltExtensionsImpl()
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)
Jeroen
That's odd, first thing I would try is to republish all content/media files:
http://sitename_upgrade.local/umbraco/dialogs/republish.aspx?xml=true
You can also append umbdebugshowtrace=true to the URL to see what's going on with the XSLT macro's
Republish doens't help. When I add umbdebugshowtrace=true I get this:
Unable to load one or more of the types in assembly 'SD.LLBLGen.Pro.RiaSupportClasses, Version=3.1.0.0, Culture=neutral, PublicKeyToken=ca73b74ba4e3ff27'. Exceptions were thrown:
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Unable to load one or more of the types in assembly 'SD.LLBLGen.Pro.RiaSupportClasses, Version=3.1.0.0, Culture=neutral, PublicKeyToken=ca73b74ba4e3ff27'. Exceptions were thrown:
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel.DomainServices.Server, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Assembly assembly, Type attribute)
at umbraco.BusinessLogic.Utils.TypeFinder.FindClassesMarkedWithAttribute(Type attribute)
at umbraco.macro.GetXsltExtensionsImpl()
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.macro.GetXsltTransformResult(XmlDocument macroXML, XslCompiledTransform xslt, Dictionary`2 parameters)
at umbraco.macro.loadMacroXSLT(macro macro, MacroModel model, Hashtable pageElements)
Seems to be related to one my own dll's, but why would that work locally?
Jeroen
It's quite possible that one of the DLL's you are referencing uses an assembly which has been installed on the server and is GAC'ed - but is missing on the production machine. I've recently had a simular issue upgrading a site from 4.5 to 4.7:
http://our.umbraco.org/forum/getting-started/installing-umbraco/22533-Upgrade-to-470-Recaptcha-missing-assembly-reference
You may need to play around a bit more with the BIN folder. Here's the list of DLL's I have documented to remove:
a. Iron*.dll (= all DLLs starting with iron)
b. Microsoft.Scripting*.dll
c. Microsoft.Dynamic.dll
d. umbraco.macroEngines.legacy.dll
e. RazorEngine.Core.dll
f. RazorEngine.Templates.dll
g. VistaDB*.dll
h. umbraco.standardFormhandlers.dll
delete invisible character at end of each xslt. then save them. you can try this.
Hi Jeroen,
Well, your error is stating the following file is missing:
System.ServiceModel.DomainServices.Server
Are you sure you have .NET 4.0 installed on your server?
Cheers,
Chris
I removed all those dll's and the dll I'm referencing to is used on a lot of other sites as well and it works there. I'm currently out of idea's what might be the problem :(. I'm 100% we have .NET 4.0 because all the other websites also run on it. In IIS it also has ASP.NET v4.0 as the application pool.
Jeroen
It looks like the DLL that is missing is part of the Microsoft SDK for RIA services:
http://social.msdn.microsoft.com/Forums/en/tfsbuild/thread/ea35052b-0447-4e51-859d-f9c331d0daaa
You should be OK if you throw that DLL in the BIN folder... On the other hand (same as my experience) -> howcome it has worked before?
Thank you - thank you - thank you :). I deteled the RIA dll and also removed all references to the dll and now it all works again.
Jeroen
Indeed, removing the references is also an option, glad to hear you got it working! :-)
is working on a reply...