DNN 7与SupportedModules属性

时间:2017-06-15 11:39:21

标签: dotnetnuke-7

我是一位经验丰富的(ASP.NET | Java | PHP | web)开发人员,是DotNetNuke的新成员。

目前我正在关注博客教程,尝试在我的DNN 7本地安装(http://www.bitboxx.net/Blog/Post/505/DNN-module-development-with-AngularJS-Part-1#)中启动并运行Angular模块

我的环境:IIS 8上的Windows 2012 Server R2,SQL Server 2016 Express,Visual Studio 2015和DNN 7。

DNN核武器运行良好。

我将下载的模块从博客安装到我的DNN。我在运行HelloWorld示例时遇到了问题(在课程的第2部分的底部)。 通过一些反复试验,我发现这与控制器上的[SupportedModules]属性有关。 没有这个属性,它运行正常,但使用属性它不会。

DNN如何确定模块的名称? “安装”过程不再将模块内容解压缩到我的DNN目录中的DesktopModules目录(在inetput \ wwwroot中)。

我是否需要在设置>中安装/配置模块?扩展

或者我错过了关于DNN 7安全性的其他一些观点?

提前感谢您的任何帮助/想法!

1 个答案:

答案 0 :(得分:0)

是的,您需要通过DNN中的Extensions机制安装模块。这将注册模块,以便DNN知道模块,并确保根据安装清单(您应该在.zip文件中找到的.dnn文件)将文件复制到正确的位置

但是,查看您引用的博客文章,我在任何地方都看不到实际的安装zip文件。我发现的唯一下载是整个项目。您需要将已编译的解决方案打包成可安装的zip文件(带有.dnn清单文件),或者您需要从扩展页面手动注册扩展。

Where to find the Extensions page in DNN 7

在该页面上,您应该单击“创建新扩展”按钮,它将引导您提供模块的详细信息。选择模块作为扩展类型

Create New Extension Button

只需要一些项目。您用于模块的“名称”将是您在SupportedModules中使用的名称。它还会将您的文件夹名称(/ DesktopModules中的文件夹)默认为模块名称。顺便说一下,友好名称将在菜单等中显示。

创建模块后,应该使用DNN注册。您可能需要重新启动AppPool和网站才能使更改生效。

仅供参考,不严格要求SupportedModules。如果你是为客户构建这个,而不是为了分发而构建它。

希望这有帮助。