Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Robert Valcourt 70 posts 103 karma points
    Mar 16, 2011 @ 07:20
    Robert Valcourt
    0

    Followed 4.7.0 upgrade instructions; all XSLT scripts broken

    Hello. Just upgraded my 4.6.1 Umbraco site this even to 4.7.0 using the upgrade instructions found on http://umbraco.codeplex.com/releases/view/62573. I did the following exactly and in this order:

    • Backed up old 4.6.1 site and associated SQL database
    • In /bin folder, deleted Microsoft.Scripting.dll
    • In /bin folder, deleted all Iron * named files
    • In /bin folder, deleted all RazorEngine * named files
    • Added the four new sections to the web.config
    • Started up the new and allowed the installer to complete the dbase upgrade
    • Logged into Umbraco

    The Umbraco interface loads fine and is working fast. When I load the live site, any area that relied on an XSLT script for content, errors are displayed in those locations. So I then went into Umbraco and loaded one of my XSLY files and attempted to save it. Umbraco gives the following error:

    <<< Start Error >>>

    Error occured

    System.Exception: Unable to load one or more of the types in assembly 'Microsoft.Dynamic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Exceptions were thrown:
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.presentation.webservices.codeEditorSave.SaveXslt(String fileName, String oldName, String fileContents, Boolean ignoreDebugging)

    <<<End Error >>>

    It looks like my XSLT files need the Microsoft.Scripting.dll files that Umbraco instructed me to delete during the upgrade. What steps should I now take to restore my Website? Please and thank you.

  • Jan Skovgaard 11280 posts 23678 karma points MVP 10x admin c-trib
    Mar 16, 2011 @ 07:37
    Jan Skovgaard
    0

    Hi Robert

    Try having a look at the xsltExtensions.config in the config folder - is there a reference for the above in there for some reason?

    /Jan

  • Robert Valcourt 70 posts 103 karma points
    Mar 16, 2011 @ 07:41
    Robert Valcourt
    0

    Hi Jan,

    My xsltExtensions.config file contains the following ... custom calls to some DLLs needed for the site. Nothing pertaining to Microsoft.Scripting.dll.

    <?xml version="1.0" encoding="utf-8" ?>
    <XsltExtensions>
    <ext assembly="bct.xsltx" type="bct.xsltx.page" alias="bct.xsltx.page"/>
    <ext assembly="cln.xsltext" type="cln.xsltext.mail" alias="cln.xsltext.mail"/>
    </XsltExtensions>

    Robert

  • Jan Skovgaard 11280 posts 23678 karma points MVP 10x admin c-trib
    Mar 16, 2011 @ 07:42
    Jan Skovgaard
    0

    Hi Robert

    Ok...hmmm, what happens if you download an older Umbraco version with the old binaries and copy over the dll from there?

    /Jan

  • Robert Valcourt 70 posts 103 karma points
    Mar 16, 2011 @ 07:48
    Robert Valcourt
    0

    Jan,

    As suggested, I restored the Microsoft.Scripting.dll file, but now I get the following error upon saving an XSLT file:

    Error occured

    System.Exception: Unable to load one or more of the types in assembly 'umbraco.MacroEngines.Legacy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Exceptions were thrown:
    System.TypeLoadException: Method 'get_SupportedExtensions' in type 'umbraco.MacroEngines.Legacy.DLRScriptingEngine' from assembly 'umbraco.MacroEngines.Legacy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
    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.presentation.webservices.codeEditorSave.SaveXslt(String fileName, String oldName, String fileContents, Boolean ignoreDebugging)

    Robert

  • Marc Aarts 14 posts 35 karma points
    Mar 16, 2011 @ 08:16
    Marc Aarts
    0

    I read a bunch of posts on this subject (after I experienced XSLT issues too after upgrading from 4.5.2 to 4.7.0) and the only solution that worked for me was installing ASP.NET MVC 3.0.

    After installing this, everything worked fine.

  • Robert Valcourt 70 posts 103 karma points
    Mar 16, 2011 @ 08:28
    Robert Valcourt
    0

    Marc, You noted you were able to restore your XSLT after installed MVC 3.0. Did you need to keep the Microsoft.Scripting.dll as well? I checked my server, and I have the following frameworks installed:

    v2.0.50727
    v3.5 SP1
    v4.0.30319

    3.0 MCV seems to be available via the Web Platform Installed in IIS.

  • Marc Aarts 14 posts 35 karma points
    Mar 16, 2011 @ 08:56
    Marc Aarts
    0

    Edit: The following is not true. Scroll down for the reason why.
    Re-edit: Edit killed the 'code' block.

    I removed Microsoft.Scripting*.dll, Microsoft.Dynamic.dll, Iron*.dll from my 4.5.2 install and added this snippet to web.config (because I installed MVC 3.0, not 1.0):

          <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
          </dependentAssembly>

    The snippet comes from this post: http://our.umbraco.org/projects/website-utilities/xsltsearch/xsltsearch-bugs/17353-Why-30-need-to-install-mvc-I-think-this-is-a-bug

    Then my XSLT's work again.

  • Robert Valcourt 70 posts 103 karma points
    Mar 16, 2011 @ 09:07
    Robert Valcourt
    2

    Ok, I searched more for posts on this issue, and after finding a few, I did the following and my XSLT runs again.

    Umbraco requests deletion of-

    Microsoft.Scripting.dll
    Iron * named files
    RazorEngine * named files

    Additionally I had to delete-

    umbraco.MacroEngines.Legacy.dll
    Microsoft.Scripting.Debugging.dll
    Microsoft.Dynamic.dll

    While my XSLT now works, there are other DLLs in the /bin folder which are not part of the 4.7 final build, no idea what they do or if they should be removed:

    NativeAssemblerInjection.dll
    NativeAssemblerInjection.pdb
    Nibble.Umb.ZipUpload.dll
    Our.Umbraco.Tree.Config.dll (I think from the config tree package I installed)

    I might suggest that the dev add more files to the delete list on the download page ;)

  • Samuel Hamer 44 posts 66 karma points
    Mar 16, 2011 @ 12:24
    Samuel Hamer
    0

    Thanks a million Robert that seems to have worked!

  • Marc Aarts 14 posts 35 karma points
    Mar 16, 2011 @ 12:26
    Marc Aarts
    0

    Robert, that's pretty much the same thing I had to do.

    Except I didn't have the umbraco.MacroEngines.Legacy.dll and RazorEngine* because I didn't upgrade from 4.6.x.

    The other files you found are from add-ons that should not relate to Umbraco's core functionality (like XSLT's) working or not.

    All in all the upgrading is not as straightforward as I hoped, but with people sharing their experiences it at least is getting documented.

  • Marc Aarts 14 posts 35 karma points
    Mar 17, 2011 @ 12:05
    Marc Aarts
    0

    My earlier 'ramblings' about needing MVC 3.0 were misguided.

    The dependency was not caused by Umbraco itself but by the ReCaptha dll I have in my \bin directory. This needs MVC 3.0, not Umbraco.

     

    It's still kinda weird Umbraco checks dependencies on a dll that's not used in the pages at all and fails rendering XSLT's as a result.

  • Carlo Cabrales 58 posts 77 karma points
    Mar 18, 2011 @ 15:17
    Carlo Cabrales
    0

    this solution worked to perfection for me. I still need to thoroughly test but so far it looks good. Thanks

    i went from 4.5.2 to 4.7

  • raz 18 posts 22 karma points
    Mar 26, 2011 @ 14:26
    raz
    0

    Hi guys,

     

    Unformtuantely after reading your posts and other threads, I still have issues with the XSLT renderings.. If you have a couple of minutes to look over these, i apprecciate it.

     

    I upgraded from 4.6.1 (worked fine all the time, been using it since v3, don't recall having added any packages outside the default installation) to 4.7.0 (downloaded the recommended version today):

    1. backed up files and db
    2. restored new db, created new folder, replaced the website's content with the 4.7.0 final release zip content.
    3. changed the webconfig to match the new connection string
    4. accessed the webiste and followed the install instructions
    5. set the appropriate permissions (using the icacls  "iis application pool \ app_pool_name" )
    6. all ok (no db changes apparently)
    7. deleted the following files:
    8. ok... changed the umbracoSettings.config, to set <UseLegacyXmlSchema>True</UseLegacyXmlSchema>
    9. restarted the website (even did a iisreset and all) and still get the following error:
      Error parsing XSLT file: \xslt\***.xslt
    10. the following files are still in the \bin folder:
    11. Also, when trying to edit and save an XSLT file within the Developer / XSLT section i get the following error:
      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.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)
    12. Also, when trying to access the "Log entries" within the Developer section i get the following (for any item, like Errors, System, Debug etc.):
      Method not found: 'System.Data.DataSet 
      umbraco.BusinessLogic.Log.GetLog(umbraco.BusinessLogic.User, 
      umbraco.BusinessLogic.LogTypes, System.DateTime)'.

     

    I know this has been a lot of talking but, I cannot seem to solve this on my own.

     

    Thank you,

    Raz

  • Joakim 8 posts 27 karma points
    Mar 30, 2011 @ 13:52
    Joakim
    0

    Hey!

    Did anyone find a solution to the problem Raz mentioned? I'm having the same issue after upgrading to v4.7.0, same exception when saving the xslt or using debug mode.

    It might be worth adding, that I'm upgrading from v4.0.2.1 and my XSLT is now following the 4.5 schema.

    Any hints appreciated - thanks a bunch!

    Best,
    Joakim

  • Marc Aarts 14 posts 35 karma points
    Mar 30, 2011 @ 14:17
    Marc Aarts
    1

    raz, you seem to have a fair amount of older dll's in your bin directory.

    Perhaps it's a good idea to start with just the dll's from the umbraco 4.7 package and add only the dll's you actually need.

    One dll i don't have in my install and that throws a fit in your error message is 'umbraco.standardFormhandlers'.

    Another clue might be in the mentioning of 'GetXsltExtensions'. Check your config\xsltExtensions.config and see if anything in there is causing trouble.

    The log entries issue might because the Umbraco add-on was developed/built against code that has since been moved/removed within the Umbraco assemblies. It can't find a method that used to be there but is not there anymore. If the sourcecode for the add-on is available you could try rebuilding it after referencing Umbraco 4.7 dll's.

  • Joakim 8 posts 27 karma points
    Mar 30, 2011 @ 14:29
    Joakim
    0

    The "dll-reset" worked away the exception, thanks Marc!

    Best,
    Joakim

  • Sharmin Jose 13 posts 33 karma points
    May 03, 2011 @ 22:51
    Sharmin Jose
    0

    This did the trick for me too. I had a bunch of old dlls.

    Steps:

    1. Take a backup and delete all the dlls in the bin directory.
    2. Copy the newest dlls from 4.7.
    3. Go to the content and try to view any aspx page.
    4. This would give you an error saying the dll could not be found
    5. Add those dlls only from the backup folder.

    ~Sharmin

  • Robert Valcourt 70 posts 103 karma points
    May 04, 2011 @ 00:02
    Robert Valcourt
    0

    Glad it worked out for you Sharmin. I'm still trying to get Umbraco admin to update the upgrade instructions.

Please Sign in or register to post replies

Write your reply to:

Draft