创建模块后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,并呼吁大家有模板错误的参考这个网站。

简单来说,解决方案是这样的:

  1. 加载 IIS 管理器(开始>运行>inetmgr.exe)
  2. 展开屏幕左侧的树视图,直到您看到 SITES 文件夹
  3. 展开“站点”文件夹,直到找到您的开发站点
  4. 展开您的开发站点 (DNNDEV.ME),直到您看到 DesktopModules 文件夹
  5. 如果 DesktopModules 文件夹上有一个 "arrow",IIS 认为它是一个虚拟目录,这就是导致上述错误的原因。右键单击 DesktopModules 文件夹,选择删除。
  6. 在网络浏览器中重新加载网站,错误应该会消失。不要简单地刷新浏览器,因为错误在 URL 中,即使您已经解决了问题,也可能会重新加载错误页面