DotNetNuke从5.3.1升级到6.1.1后崩溃
本文关键字:崩溃 1升 DotNetNuke | 更新日期: 2023-09-27 18:15:11
更新DNN到最新版本后,我的网站不工作。我怀疑这是一个主题相关的问题,因为我一直在做一些调试。但我无法进一步缩小范围。
我的站点的当前堆栈跟踪如下所示:
[NullReferenceException: Object reference not set to an instance of an object.]
DotNetNuke.UI.Containers.ActionBase.get_ModuleContext() +6
DotNetNuke.UI.Containers.ActionBase.get_ActionRoot() +30
DotNetNuke.UI.Containers.ActionBase.OnLoad(EventArgs e) +42
[ModuleLoadException: An error has occurred.]
DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, Control ctrl, Exception exc, Boolean DisplayErrorMessage) +400
[PageLoadException: An error has occurred.]
DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL) +323
DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc) +89
DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, Control ctrl, Exception exc, Boolean DisplayErrorMessage) +525
DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(Control ctrl, Exception exc, Boolean DisplayErrorMessage) +189
DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(Control ctrl, Exception exc) +40
DotNetNuke.UI.Containers.ActionBase.OnLoad(EventArgs e) +85
DotNetNuke.Web.DDRMenu.Actions.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
[PageLoadException: An error has occurred.]
DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL) +323
DotNetNuke.Framework.PageBase.OnError(EventArgs e) +450
System.Web.UI.Page.HandleError(Exception e) +84
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6776
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
System.Web.UI.Page.ProcessRequest() +80
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.default_aspx.ProcessRequest(HttpContext context) in c:'windows'Microsoft.NET'Framework'v2.0.50727'Temporary ASP.NET Files'root'84194812'86a29f2c'App_Web_toxjy2nh.0.cs:0
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
从这里我可以看到它与DDRMenu组件有关。我已经为网站尝试了我自己的皮肤,对于那些完全相同的行说一些关于SolPartMenu/Action。
非常感谢你的帮助!
我在测试移动到6时遇到了同样的问题。你需要最新版本的DDR菜单,但我怀疑,因为你不能登录,你不能安装它。
我不确定哪些步骤,如果有的话,你可以删掉,但这就是我所做的。
- 从备份恢复到5.6.3
- 关闭主机设置中的压缩
- 设置最小外型为默认皮肤
- 将en-US设置为默认语言(不确定这是否必要,这是一次升级,我现在倾向于在主要升级时这样做)
- 在web.config 中设置DNN导航为默认导航提供商
- 更改使用的容器<%@ Register TagPrefix="dnn" TagName="ACTIONS" Src="~/Admin/Containers/ACTIONS . "ascx " %>
- Uninstall DDRmenu 1.2.2
- 删除web.config中的DDRMenuNavigationProvider
- 重新备份数据库和文件系统 升级到6.x
- 升级到DDR菜单v2.00.0
- 设置应用程序池使用。net
- 重新应用皮肤到几个页面检查所有作品,如果ok重置默认皮肤
- 必要时重置压缩和默认语言
希望能有所帮助
你看到的问题是由于DNN升级器的运行方式和新的DDR菜单想要升级的方式之间的冲突。DNN升级器将DDRMenu.dll推入bin目录,但不为它运行IUpgrade代码,因此DLL,代码和web。配置设置不匹配。下一个版本的DDR菜单应该会解决这个问题。
Barry的建议应该能解决这个问题,尽管它比我要采取的步骤要多。我要尝试的第一件事是用升级前的旧DLL替换新的DDRMenu DLL (DotNetNuke.Web.DDRMenu.dll),看看这是否能让你的网站运行。如果是,那么你可以安装最新版本的DDRMenu,你应该很好。如果这不起作用,我通常会在升级之前尝试代码和代码设置的组合,并安装DNN 6.1.1,直到问题解决。我希望我能有一个更具体的答案,但我通常很赶时间(因为网站关闭了),所以我没有花时间写一个更科学的方法。
同样,这应该在DDR菜单的下一个版本中解决,这个问题只影响已经使用DDR菜单的站点。但是,它仍然不像它应该的那样光滑。