我正在从Orchard 1.7升级到1.8。本地一切似乎都很好,但是当我部署我的网站时,我的一个自定义模块被禁用。当我点击"启用"在仪表板的模块部分中链接,页面刷新,但模块仍处于禁用状态。我的本地实例连接到同一个数据库并显示启用的模块,因此不确定发生了什么。我没有在标准错误日志中看到任何详细信息。
有没有办法看到任何可能导致模块失败的错误?
由于
答案 0 :(得分:1)
原来这是因为我的功能名称与我的模块文件夹名称不匹配。我的模块最初以Pascal案例命名,即。 'MyModule的'。在我的文件夹已经重命名为'Mymodule'的同时,Module.txt文件仍将主要功能列为'MyModule'。
我最终通过将Orchard.Modules.pdb文件复制到我预编译的Web应用程序的bin文件夹中并将VS调试器附加到它来查看发生了什么来解决这个问题。该问题出现在Orchard.Modules.Controllers.AdminController.Features()中,其中FeatureDescriptor.Id == ShellFeature.Name的比较因案例不匹配而无法匹配。结果是我的功能显示为已禁用,即使它已在数据库中启用。
答案 1 :(得分:0)
不是您问题的直接答案,但是在发布您的果园网站之前是否进行了完整的重建(假设您是如何部署它的)?我发现有时你必须在发布之前进行重建。