November Happy Hour will be moved to Thursday December 5th.

Problems with ConfigureDojo

Vote:
 

I made an unsuccessful installation of 7.1, which in itself is a cause of investigation, but I didn't follow the installation instructions and headed for starting over the process.

However, when switching back the code to 7.0 I get a problem when entering edit-mode. I reckoned this had to do with changes in the db, so I started up with an empty db (since I didn't have any back-up). But strangely I still get this error:

Line 1

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1061: 'System.Web.UI.Page' does not contain a definition for 'ConfigureDojo' and no extension method 'ConfigureDojo' accepting a first argument of type 'System.Web.UI.Page' could be found (are you missing a using directive or an assembly reference?)

Source Error:

4: <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
Line 15:
Line 16: <%=Page.ConfigureDojo(false, true, true) %>
Line 17:
Line 18: <%=Page.ClientResources("ShellCore", new[] { ClientResourceType.Style })%>

Since the upgrade is made from the admin interface I'm now in sort of Moment 22 mode.

Anyone who have a clue?

Regards

Christian

#70742
Apr 29, 2013 12:05
Vote:
 

The ConfigureDojo extension method was added as a part of the upgrade and resides in EPiServer.Shell.UI.dll.

My guess is that you've restored the assemblies in modulesbin, but the corresponding files in the modules directory belonging to each module is still left upgraded. Or you're expreiencing the problem with Temporary ASP.NET files not getting updated properly.

Check out: http://world.episerver.com/Modules/Forum/Pages/Thread.aspx?id=69836

#70743
Apr 29, 2013 12:28
Vote:
 

Thanx, but cleansing temporary ASP.NET-did not change anything. The good thing is I can manage to enter VIEW-mode and ADMIN-mode. Also the "sneek"-/edit-fall-back-mode does work.

The code is exactly restored to the level before I tried to update it. I have done a fair amount of comparisons nad there are no difference in any module version.

I also run a couple of demo sites on this server on different port ids. Two of these are on version 7 and these have no problems.

Questions remain: Why is this site still affected although it has thorughly restored and what is that stops the edit-mode from working.

I leave the question whether it is a good practice to update sub-levels through the interface, the immediate problem is to get back where I was.

 

 
Line 14:     <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
Line 15:     
Line 16:     <%=Page.ConfigureDojo(false, true, true) %>    
Line 17: 
Line 18:     <%=Page.ClientResources("ShellCore", new[] { ClientResourceType.Style })%>


Source File: /secure/ui/Shell/Views/Shared/Sleek.Master    Line: 16

 

2013-05-07 10:47:55,550 [5] ERROR EPiServer.Global: 1.2.5 Unhandled exception in ASP.NET
System.Web.HttpParseException (0x80004005): http://server/secure/ui/Shell/Views/Shared/Sleek.Master(16): error CS1061: 'System.Web.UI.Page' does not contain a definition for 'ConfigureDojo' and no extension method 'ConfigureDojo' accepting a first argument of type 'System.Web.UI.Page' could be found (are you missing a using directive or an assembly reference?) ---> System.Web.HttpCompileException (0x80004005): http://server/secure/ui/Shell/Views/Shared/Sleek.Master(16): error CS1061: 'System.Web.UI.Page' does not contain a definition for 'ConfigureDojo' and no extension method 'ConfigureDojo' accepting a first argument of type 'System.Web.UI.Page' could be found (are you missing a using directive or an assembly reference?)
at System.Web.Compilation.BuildManager.PostProcessFoundBuildResult(BuildResult result, Boolean keyFromVPP, VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode, Boolean ensureIsUpToDate)
at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath, Boolean ensureIsUpToDate)
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.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean ensureIsUpToDate)
at System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath, Boolean allowNoCompile)
at System.Web.UI.BaseTemplateParser.GetReferencedType(String virtualPath)
at System.Web.UI.PageParser.ProcessMainDirectiveAttribute(String deviceName, String name, String value, IDictionary parseData)
at System.Web.UI.TemplateParser.ProcessMainDirective(IDictionary mainDirective)
at System.Web.UI.TemplateParser.ProcessException(Exception ex)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath)
at System.Web.UI.TemplateParser.Parse()
at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType()
at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)
at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
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.GetObjectFactory(String virtualPath, Boolean throwIfNotFound)
at System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists(String virtualPath)
at System.Web.WebPages.DefaultDisplayMode.GetDisplayInfo(HttpContextBase httpContext, String virtualPath, Func`2 virtualPathExists)
at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
at System.Web.WebPages.DisplayModeProvider.GetDisplayInfoForVirtualPath(String virtualPath, HttpContextBase httpContext, Func`2 virtualPathExists, IDisplayMode currentDisplayMode)
at System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName(ControllerContext controllerContext, List`1 locations, String name, String controllerName, String areaName, String cacheKey, String[]& searchedLocations)
at System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(ControllerContext controllerContext, String[] locations, String[] areaLocations, String locationsPropertyName, String name, String controllerName, String cacheKeyPrefix, Boolean useCache, String[]& searchedLocations)
at System.Web.Mvc.VirtualPathProviderViewEngine.FindView(ControllerContext controllerContext, String viewName, String masterName, Boolean useCache)
at EPiServer.Shell.Web.Mvc.ModuleViewEngineCollection.FindViewFromModuleOverrides(ControllerContext controllerContext, String viewName, String masterName, Boolean useCache)
at EPiServer.Shell.Web.Mvc.ModuleViewEngineCollection.FindView(ControllerContext controllerContext, String viewName, String masterName, Boolean useCache)
at System.Web.Mvc.ViewEngineCollection.<>c__DisplayClassc.<FindView>b__b(IViewEngine e)
at System.Web.Mvc.ViewEngineCollection.Find(Func`2 lookup, Boolean trackSearchedPaths)
at System.Web.Mvc.ViewResult.FindView(ControllerContext context)
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.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

#71012
May 07, 2013 11:22
Vote:
 

Ref: 

<%=Page.ConfigureDojo(false, true, true) %>   

 

I got the same error when copying patched files to another site, I resolved it by updating via Add on first, which did the database changes and then copied files after and cleared temp .net files.  This was easier than comparing database modifications

#71094
May 09, 2013 12:29
Vote:
 

The database is actually not affected by the UI Add-Ons update, at least not as far as I'm aware.

And Cristian, regarding your problem:

Make sure that the <appdata>\Modules\Shell\Views\Shared\Sleek.Master doesn't contain the Page.ConfigureDojo (In 1.x it was called Page.DojoConfig)

  • If it does:
    You have the version belonging to the 2.0.x version Shell UI.
  • If it doesn't:
    There's stale data in your Temporary ASP.NET Files, toggling the debug or optimizeCompilations attribute of the /configuration/system.web/compilation element i web.config should make sure they're re-compiled.

If you want to remove the Temporary asp.net files yourself, remember that the location varies depending on the framework bitness and version.

 

#71139
May 10, 2013 13:35
Vote:
 

Yes, Stefan, it was the wrong version alltoghether.  The problem was solved by switching back to the original modules within the VPP. I hadn't checked for them at all. The resolution was

1. Install fresh a 7.0 system

2. Pick the appdata from this system instead of the corrupted installation. I used the

<appData basePath="D:\EPiServer\VPP\xyzold" /> in EPiServerFramework.config, but copying files should give the same result.

The task to get the 7.1 working still remains.... but at least I'm on track again...

Thanks for all help!

#71167
May 13, 2013 11:07
Vote:
 

Great!

When upgrading - make sure that the files in the <appdata>/Modules folder and the assemblies in modulesbin aren't write protected and that you haven't changed permissions on them.

We're currently working on making the upgrade process more robust and fault tolerant.
I don't know when it will be ready, but it's certainly a priority and we're on the case.

 

#71174
May 13, 2013 11:33
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* 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.