U4-7890 - XSLT Macro's not working - "Cannot use this obsoleted overload when the current provider"

Created by Arjan Woldring 03 Feb 2016, 14:13:18 Updated by Shannon Deminick 16 Feb 2016, 13:07:59

Relates to: U4-8003

What did you do? Installed Fresh 7.3.7. Created XSLT Macro with the Breadcrumb Template Select The macro in a RTE

What did you expect to happen? To render just like all the other macro's.

What actually happened? Error:

"Error reading XSLT file: test.xslttest.xslt

It has an error reading 'test.xslttest.xslt' that would probably be true because the filename is just 'test.xslt'

With existsing XSLT macro's": Error loading XSLT Breadcrumb.xslt. Exception: System.InvalidOperationException: Cannot use this obsoleted overload when the current provider is not of type Umbraco.Core.Cache.HttpRuntimeCacheProvider at Umbraco.Core.CacheHelper.GetCacheItem[TT](String cacheKey, CacheItemPriority priority, CacheDependency cacheDependency, Func`1 getCacheItem) at umbraco.macro.getXslt(String XsltFile) at umbraco.macro.LoadMacroXslt(macro macro, MacroModel model, Hashtable pageElements, Boolean throwError)

1 Attachments

Download Umb7.3.7-patch1.zip

Comments

Sebastiaan Janssen 03 Feb 2016, 15:20:46

Yikes! Works on 7.3.5, not on 7.3.6.


Arjan Woldring 03 Feb 2016, 15:47:36

Can imagine that xslt is not the first thing to test but still a lot sites are running some (old) xslt macro's. So @sebastiaan 7.3.4 worked fine?


Sebastiaan Janssen 03 Feb 2016, 15:52:06

yup


Arjan Woldring 03 Feb 2016, 15:57:44

okay thanks. Before I upgrade to 7.3.4 do you have any idea if there will be 7.3.8 version which adresses this issue?


Sebastiaan Janssen 03 Feb 2016, 16:01:35

Not sure yet, most likely! will discuss with team tomorrow


Sebastiaan Janssen 03 Feb 2016, 16:02:14

At the very least I'll add an updated dll here soon to fix the issue.


Sebastiaan Janssen 03 Feb 2016, 16:40:36

I've gotten as far as umbraco.macro.macro.getXslt where GetCacheItem is called. That one starts with var cache = RuntimeCache as HttpRuntimeCacheProvider; and results in cache being null so the exception is thrown: throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));


Arjan Woldring 03 Feb 2016, 17:01:36

Ty for picking this up so quickly. If an updated dll is made available that would be great for sure.

edit: And if I can help you guys out with testing or something please let me know.


Shannon Deminick 04 Feb 2016, 10:03:37

Hi, please find attached the patch files, just copy this DLL to your /bin folder.


Arjan Woldring 04 Feb 2016, 10:21:37

Thank you guys! Will test the patch today. Report back after testing.


Arjan Woldring 04 Feb 2016, 14:23:48

I upgraded an old 7.1.6 installation to 7.3.7 and replaced your patched DLL. All is working perfectly! Thanks!


Nigel Morris 11 Feb 2016, 09:40:19

patch works for me as well :-)


Priority: Major

Type: Bug

State: Fixed

Assignee:

Difficulty: Normal

Category:

Backwards Compatible: True

Fix Submitted:

Affected versions: 7.3.6, 7.3.7

Due in version: 7.4.0

Sprint: Sprint 8

Story Points:

Cycle: