创建模块后DNN报错
DNN Error after creating a module
我得到了一个维护项目,它建立在 DNN 9.1.1
之上并且有一些自定义模块(我对 DNN
完全陌生)。我需要创建一个新模块,所以我使用了 VS2017
的 christoc 项目模板。因此,甚至在我可以开发任何东西之前,我就重建了解决方案,它给了我一个 DNN
错误。我从解决方案中删除了该项目,但虽然它编译正确,但仍然出现相同的错误。
有没有人遇到过这个错误?您认为模块正在写入数据库吗?如果是,我该如何删除它?
我在日志中发布了错误,但这对我来说没有意义,因为没有文件丢失
DotNetNuke.Services.Exceptions.Exceptions - DotNetNuke.Services.Exceptions.PageLoadException: Unhandled error loading page. ---> System.Web.HttpParseException: The file '/DesktopModules/GFIPortugal/DotNetNuke.Search.Google/GoogleSearch.ascx' does not exist. ---> System.Web.HttpParseException: The file '/DesktopModules/GFIPortugal/DotNetNuke.Search.Google/GoogleSearch.ascx' does not exist. ---> System.Web.HttpException: The file '/DesktopModules/GFIPortugal/DotNetNuke.Search.Google/GoogleSearch.ascx' does not exist.
在此先感谢您的帮助。
.ascx
控件是否存在于正确的路径中?
'/DesktopModules/GFIPortugal/DotNetNuke.Search.Google/GoogleSearch.ascx'
也许您创建了一个额外的子文件夹。
像这样尝试:
'/DesktopModules/GFIPortugal/GoogleSearch.ascx'
当您通过 Visual Studio 添加新模块时,取消选择为您的 project/solution 创建文件夹的选项(添加新项目向导的右下角)。
此外,检查 .dnn
文件以调整资源的映射。
我发现这是一个常见的错误。有趣的是,在 google 上很难找到它。我把link留在这里https://www.christoc.com/Tutorials/All-Tutorials/aid/12,并呼吁大家有模板错误的参考这个网站。
简单来说,解决方案是这样的:
- 加载 IIS 管理器(开始>运行>inetmgr.exe)
- 展开屏幕左侧的树视图,直到您看到 SITES 文件夹
- 展开“站点”文件夹,直到找到您的开发站点
- 展开您的开发站点 (DNNDEV.ME),直到您看到 DesktopModules 文件夹
- 如果 DesktopModules 文件夹上有一个 "arrow",IIS 认为它是一个虚拟目录,这就是导致上述错误的原因。右键单击 DesktopModules 文件夹,选择删除。
- 在网络浏览器中重新加载网站,错误应该会消失。不要简单地刷新浏览器,因为错误在 URL 中,即使您已经解决了问题,也可能会重新加载错误页面
我得到了一个维护项目,它建立在 DNN 9.1.1
之上并且有一些自定义模块(我对 DNN
完全陌生)。我需要创建一个新模块,所以我使用了 VS2017
的 christoc 项目模板。因此,甚至在我可以开发任何东西之前,我就重建了解决方案,它给了我一个 DNN
错误。我从解决方案中删除了该项目,但虽然它编译正确,但仍然出现相同的错误。
有没有人遇到过这个错误?您认为模块正在写入数据库吗?如果是,我该如何删除它?
我在日志中发布了错误,但这对我来说没有意义,因为没有文件丢失
DotNetNuke.Services.Exceptions.Exceptions - DotNetNuke.Services.Exceptions.PageLoadException: Unhandled error loading page. ---> System.Web.HttpParseException: The file '/DesktopModules/GFIPortugal/DotNetNuke.Search.Google/GoogleSearch.ascx' does not exist. ---> System.Web.HttpParseException: The file '/DesktopModules/GFIPortugal/DotNetNuke.Search.Google/GoogleSearch.ascx' does not exist. ---> System.Web.HttpException: The file '/DesktopModules/GFIPortugal/DotNetNuke.Search.Google/GoogleSearch.ascx' does not exist.
在此先感谢您的帮助。
.ascx
控件是否存在于正确的路径中?
'/DesktopModules/GFIPortugal/DotNetNuke.Search.Google/GoogleSearch.ascx'
也许您创建了一个额外的子文件夹。 像这样尝试:
'/DesktopModules/GFIPortugal/GoogleSearch.ascx'
当您通过 Visual Studio 添加新模块时,取消选择为您的 project/solution 创建文件夹的选项(添加新项目向导的右下角)。
此外,检查 .dnn
文件以调整资源的映射。
我发现这是一个常见的错误。有趣的是,在 google 上很难找到它。我把link留在这里https://www.christoc.com/Tutorials/All-Tutorials/aid/12,并呼吁大家有模板错误的参考这个网站。
简单来说,解决方案是这样的:
- 加载 IIS 管理器(开始>运行>inetmgr.exe)
- 展开屏幕左侧的树视图,直到您看到 SITES 文件夹
- 展开“站点”文件夹,直到找到您的开发站点
- 展开您的开发站点 (DNNDEV.ME),直到您看到 DesktopModules 文件夹
- 如果 DesktopModules 文件夹上有一个 "arrow",IIS 认为它是一个虚拟目录,这就是导致上述错误的原因。右键单击 DesktopModules 文件夹,选择删除。
- 在网络浏览器中重新加载网站,错误应该会消失。不要简单地刷新浏览器,因为错误在 URL 中,即使您已经解决了问题,也可能会重新加载错误页面