2

After installing Sitecore and adding my existing working project, I am getting an error when I select the site Home item from the Content Editor.

The stack trace is as below:

Method not found: 'Sitecore.Caching.Cache Sitecore.Caching.CustomCache.get_InnerCache()'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.MissingMethodException: Method not found: 'Sitecore.Caching.Cache Sitecore.Caching.CustomCache.get_InnerCache()'.

Stack Trace: 

[MissingMethodException: Method not found: 'Sitecore.Caching.Cache Sitecore.Caching.CustomCache.get_InnerCache()'.]
   Sitecore.Social.MessagePosting.Cache.MessagesByContainerCache.ContainsKey(MessagesByContainerCacheKey key) +0
   Sitecore.Social.MessageBusinessManager.SearchMessagesByContainer(String container) +131
   Sitecore.Social.MessageBusinessManager.GetMessagesCount(String container) +16
   Sitecore.Social.Client.MessagePosting.Commands.SocialCenter.RunGetHeader(CommandContext context, String header) +342
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.FillParamsFromCommand(CommandContext commandContext, RibbonCommandParams ribbonCommandParams) +94
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.GetCommandParameters(Item controlItem, CommandContext commandContext) +79
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.RenderLargeButton(HtmlTextWriter output, Item button, CommandContext commandContext) +78
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.RenderButton(HtmlTextWriter output, Item button, CommandContext commandContext) +440
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.RenderChunk(HtmlTextWriter output, Item chunk, CommandContext commandContext) +343
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.RenderChunk(HtmlTextWriter output, Item chunk, CommandContext commandContext, Boolean isContextual, String id) +244
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.RenderChunk(HtmlTextWriter output, Item chunk, CommandContext commandContext, Boolean isContextual) +161
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.RenderChunks(HtmlTextWriter output, Item strip, CommandContext commandContext, Boolean isContextual) +449
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.RenderStrips(HtmlTextWriter output, Item ribbon, Boolean isContextual, ListString visibleStripList) +1807
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.RenderStrips(HtmlTextWriter output, Item defaultRibbon, Item contextualRibbon, ListString visibleStripList) +162
   Sitecore.Web.UI.WebControls.Ribbons.Ribbon.Render(HtmlTextWriter output) +800
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +80
   Sitecore.Web.HtmlUtil.RenderControl(Control ctl) +80
   Sitecore.Shell.Applications.ContentManager.ContentEditorForm.UpdateRibbon(Item folder, Boolean isCurrentItemChanged, Boolean showEditor) +502
   Sitecore.Shell.Applications.ContentManager.ContentEditorForm.Update() +600
   Sitecore.Shell.Applications.ContentManager.ContentEditorForm.OnPreRendered(EventArgs e) +172

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
   System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +128
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +146
   Sitecore.Reflection.ReflectionUtil.InvokeMethod(MethodInfo method, Object[] parameters, Object obj) +89
   Sitecore.Shell.Applications.ContentManager.ContentEditorPage.OnPreRender(EventArgs e) +143
   System.Web.UI.Control.PreRenderRecursiveInternal() +107
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7675
  • Did you update your existing project with Sitecore DLLs from the new version? – Gabbar Dec 10 '16 at 18:26
  • Which DLLs need update? – Vikaskr Dec 11 '16 at 8:54
  • I can see all new DLLs in the BIN barring a few Ninject, Social, Forms and WFFM dlls. Where do I get the new ones? I also read somewhere that there are breaking changes in 8.2 for caching and social implementations. May be that is causing the issue. I will try getting new DLLs. – Vikaskr Dec 11 '16 at 9:16
  • Yeah, Sitecore 8.2 changes the structure of the cache API. I can't remember off hand if Sitecore. Social is part of the vanilla install, if not, try and find the latest version and see if it works with 8.2. if it's part of the vanilla Sitecore install and the DLLs are all up to date, I'd get in touch with Sitecore support and see if they've got a support ticket for it. – Owen Niblock Dec 11 '16 at 11:30
3

You have dlls that are old and new in your bin directory. Back up your bin folder of your current site. Then open the Sitecore zip file for 8.2 rev 161115. Copy all the dlls from the bin folder in the zip into your bin folder and test.

How the dlls got there

You should check your deployments for this site to make sure that old dlls are not coming from development. Also use Sitecore's nuget for your references in Visual studio. This will help keep them are the right and specific versions.

If you have custom caching code written, you will need to update it to the new code.

https://breaksitecoreblog.wordpress.com/2016/09/06/sitecore-8-2-cache-changes/

Changes in 8.2

Taken from this post (Sitecore.Caching.CustomCache changes with 8.2)

  • The CacheManager has now been abstracted to a BaseCacheManager, in line with many of the other Dependency Injection changes in 8.2.

  • The Cache class has been abstracted to an ICache, allowing for other cache implementations in the future (e.g. Redis).

  • Statics on the Cache class for finding/creating a cache are no longer present -- you must utilize the CacheManager.
  • The base cache implementation can now estimate object sizes itself, and all size arguments have been eliminated from the Add overloads on the cache. So above in your question, you can simply eliminate your third argument. The event handler it is looking for in your compiler error is an optional callback for when the object is removed from the cache.
  • If you really want to handle the size calculation yourself, there is the an ICacheSizeCalculationStrategy, which is set on a property of Cache<T>, but the setter appears to be private at this time. You would need to provide your own ICache implementation. But this really is overkill -- in most production deployments you'll be disabling cache size limitations anyway.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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