EPiServer 7.18 upgrade, CMS not working

Vote:
 

Hi all,

I upgraded from EPiServer 7.0 to 7.5 using the EPiServer Deployment Center. That upgrade went good, and after fixing up the code everything was working again. I also did the VPP upgrade which went perfectly. But after this I went on to the latest EPiServer release from the NuGet packages and while the site is working, the CMS/backend isn't anymore. I get an HTTP500 error when I'm logged in. This is on my local machine, and I log in with my Windows authentication details. The error that is being logged is:

System.Web.HttpCompileException (0x80004005): http://server/EPiServer/Shell/Views/Shared/Bootstrapper.aspx(18): error CS0246: The type or namespace name 'BootstrapperViewModelEx' could not be found (are you missing a using directive or an assembly reference?)
   at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
   at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath)
   at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
   at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.b__17()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
   at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
   at System.Web.Mvc.Controller.ExecuteCore()
   at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
   at EPiServer.Shell.Web.Mvc.ModuleMvcHandler.ProcessController(IController controller)
   at EPiServer.Shell.Web.Mvc.ModuleMvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

I've tried searching on Google for this, but I can't really find anything that seems helpful. It seems to be missing some references, but I'm not sure if this is something that should be fixed in my webapp or that it should be fixed somewhere else...

The references of my webapp are:

  • CMS (version 3.1.0.0, from EPiServer.CMS.UI.Core)
  • EPiServer (version 7.18.0.0, from EPiServer.CMS.Core)
  • EPiServer.ApplicationModules (version 7.18.0.0, from EPiServer.Framework)
  • EPiServer.BaseLibrary (version 7.18.0.0, from EPiServer.CMS.Core)
  • EPiServer.Cms.Shell.UI (version 7.17.0.0, from EPiServer.CMS.UI.Core)
  • EPiServer.Configuration (version 7.18.0.0, from EPiServer.CMS.Core)
  • EPiServer.Data (version 7.18.0.0, from EPiServer.Framework)
  • EPiServer.Data.Cache (version 7.18.0.0, from EPiServer.Framework)
  • EPiServer.Enterprise (version 7.18.0.0, from EPiServer.CMS.Core)
  • EPiServer.Events (version 7.18.0.0, from EPiServer.Framework)
  • EPiServer.Framework (version 7.18.0.0, from EPiServer.Framework)
  • EPiServer.ImageLibrary (version 7.18.0.0, from EPiServer.CMS.Core)
  • EPiServer.Implementation (version 7.18.0.0, from EPiServer.CMS.Core)
  • EPiServer.Licensing (version 7.18.0.0, from EPiServer.Framework)
  • EPiServer.LinkAnalyzer (version 7.18.0.0, from EPiServer.CMS.Core)
  • EPiServer.Logging.Log4Net (version 0.1.0.0, from EPiServer.Logging.Log4Net)
  • EPiServer.Search.IndexingService (version 7.7.0.0, from EPiServer.Search)
  • EPiServer.Shell (version 7.18.0.0, from EPiServer.Framework)
  • EPiServer.Shell.UI (version 7.17.0.0, from EPiServer.CMS.UI.Core)
  • EPiServer.UI (version 7.17.0.0, from EPiServer.CMS.UI.Core)
  • EPiServer.Web.WebControls (version 7.18.0.0, from EPiServer.CMS.Core)
  • EPiServer.WorkflowFoundation (version 7.18.0.0, from EPiServer.CMS.Core)
  • EPiServer.XForms (version 7.18.0.0, from EPiServer.CMS.Core)

Anyone know how to fix this error and make the CMS work again?

Kind regards,
Patrick Bregman

#114280
Dec 09, 2014 10:11
Vote:
 

The errorlog is not visible for me, so just in case it is not visible for you either, this is the error log I posted:

System.Web.HttpCompileException (0x80004005): http://server/EPiServer/Shell/Views/Shared/Bootstrapper.aspx(18): error CS0246: The type or namespace name 'BootstrapperViewModelEx' could not be found (are you missing a using directive or an assembly reference?)
   at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
   at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath)
   at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
   at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
   at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
   at System.Web.Mvc.Controller.ExecuteCore()
   at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
   at EPiServer.Shell.Web.Mvc.ModuleMvcHandler.ProcessController(IController controller)
   at EPiServer.Shell.Web.Mvc.ModuleMvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
#114281
Dec 09, 2014 10:13
Vote:
 

You could try and clean Temporary ASP-NET Files (C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files), where views are compiled. Sometimes when doing upgrades I've noticed that you need to do this. Also make sure you do a full rebuild in the studio. Did you also run Update-Epidatabase after the upgrade to latest nuget package?

#114311
Dec 09, 2014 19:25
Vote:
 

Did you update your config transforms with the new assembly redirects after upgrading the nuget packages to 7.18? if you upgrade and immediatly rebuild your project the changes made to the configuration files will be overwritten with your old ones.

//Mathias

#114316
Dec 10, 2014 7:34
Vote:
 

To be sure I cleaned up the Temporary ASP.NET Files again, this didn't change anything. I also did a Clean solution + Rebuild solution to see if that was the issue, but still no luck. Also, I did the update-epidatabase thing in the Package Manager Console, because otherwise the rest of the site wouldn't work either. We do not have any assembly redirects in the configuration transformations, so that can't be the issue, can it?

Also, I just noticed that the CMS and Shell folders are gone from the AppData/Modules folder... Could this be the issue?
And if so, where can I find the folders that should go in there? I can't seem to find them in the same place in a clean EPiServer 7.18 project...

#114318
Dec 10, 2014 8:13
Vote:
 

Hi Patrick, 

CMS and Shell are moved under siteroot\modules\_protected  as ziped modules from 7.6 release onwards and siteroot\modules is the home for all add-ons. Make sure you dont' have these assemblies left under siteroot\Modulesbin folder : EPiServer.cms.shell.ui.dll , EPiServer.Shell.UI.dll. Instead you should have following in siteroot\bin folder : CMS.dll and Shell.dll

And your web.config should have following: 

<episerver.shell>
<publicModules rootPath="~/modules/" autoDiscovery="Modules" />
    <protectedModules rootPath="~/%yourUIpath%/">
       <add name="Shell" />
       <add name="CMS" />
    </protectedModules>
</episerver.shell>

For more detailed information, have a look at this blog post : 

http://world.episerver.com/blogs/Khurram-Hanif/Dates/2014/3/EPiServer-76-Protected-Site-Add-Ons-location/

#114319
Dec 10, 2014 8:49
Vote:
 

I reset everything to a semi-working point in Git, and after doing the upgrade again it now works just fine. I guess something went wrong with permissions during the upgrade. I know it's not really an answer, but it works for now...

Thanks a lot all!

#114328
Edited, Dec 10, 2014 10:54
Vote:
 

I am getting the same error after upgrading. I have checked all the things described above by Shahid.

Any more tips on things to check? Thanks in advance.

#120255
Apr 14, 2015 9:48
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.