7

The preview mode loads the page, but it has the SPEAK square just spinning over the top of it with an server error in '/' Application at the top where the ribbon is suppose to be. If I inspect the page and remove the Div tag " the preview loads fine and is functional.

Here is a little bit of the stack trace:

Source Error: 
Line 2:  @using Sitecore.ExperienceEditor.Speak.Ribbon.Controls.Chunk
Line 3:  @model Sitecore.Mvc.Presentation.RenderingModel
Line 4:  @Html.Sitecore().Controls().Chunk(Model.Rendering)
Source File: e:\wwwroot\jenkins\Web\sitecore\shell\client\Sitecore\Speak\Ribbon\Controls\Chunk\Chunk.cshtml    Line: 4 
Stack Trace: 
[MissingMethodException: Method not found: 'Boolean System.Web.WebPages.BuildManagerWrapper.IsNonUpdateablePrecompiledApp(System.Web.Hosting.VirtualPathProvider, Microsoft.Internal.Web.Utils.IVirtualPathUtility)'.]
   System.Web.Mvc.BuildManagerViewEngine.GetPrecompiledNonUpdateable() +0
   System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +246

Here is a screen shot: enter image description here

2 Answers 2

6

This is a common issue with the Sitecore Preview mode when the website site definition has gone missing.

In versions of Sitecore through 8.0 and lower (I'll edit with exact revision number), the website site definition is hardcoded in the bowels of the Sitecore code, which means if you are trying to remove it, it can cause issues.

In versions of Sitecore 8.1 and later, this was resolved using a couple different Sitecore settings.

Two things to check:

Check The Site Definition in the Configuration

enter image description here

Check Sitecore Settings

If your version of Sitecore has it, check out these settings:

<!--
  PAGE PREVIEW SITE NAME 
            Specifies the name of the site that is used to generate page previews, for example "website".
            If blank, Sitecore uses the value in the Preview.DefaultSite setting.
            Default value: "" (use the value of the Preview.DefaultSite setting) -->
<setting name="PagePreview.SiteName" value=""/>
<!--
  PREVIEW - RESOLVE SITE
            If false, the Preview.DefaultSite setting specifies the context site to use when a user previews an item.
            If true, when a user previews an item, Sitecore tries to resolve the root item and the context site based on the current content language
            and the path to the item. If Sitecore cannot resolve the context site, it uses the site that is specified in the Preview.DefaultSite setting.
            Default value: false (use the value of the Preview.DefaultSite setting) -->
<setting name="Preview.ResolveSite" value="true"/>

If your intention is to get rid of the website defiition, you won't be able to do it until you set these variables (assuming your version of Sitecore supports it.) If your version of Sitecore doesn't NOT support it, you will be forced to keep the website active.

1

[MissingMethodException] exceptions is nearly always related to your binaries not being the version you expect them to be. Like running sitecore.kernel.dll for Sitecore 8.1 on an 8.2 site and files.

Try copying in the complete DLL set from a vanilla archive of the version of Sitecore you're running to your /bin directory and see if the problem resolves.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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