我是一位经验丰富的(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安全性的其他一些观点?
提前感谢您的任何帮助/想法!
答案 0 :(得分:0)
是的,您需要通过DNN中的Extensions机制安装模块。这将注册模块,以便DNN知道模块,并确保根据安装清单(您应该在.zip文件中找到的.dnn文件)将文件复制到正确的位置
但是,查看您引用的博客文章,我在任何地方都看不到实际的安装zip文件。我发现的唯一下载是整个项目。您需要将已编译的解决方案打包成可安装的zip文件(带有.dnn清单文件),或者您需要从扩展页面手动注册扩展。
在该页面上,您应该单击“创建新扩展”按钮,它将引导您提供模块的详细信息。选择模块作为扩展类型
只需要一些项目。您用于模块的“名称”将是您在SupportedModules中使用的名称。它还会将您的文件夹名称(/ DesktopModules中的文件夹)默认为模块名称。顺便说一下,友好名称将在菜单等中显示。
创建模块后,应该使用DNN注册。您可能需要重新启动AppPool和网站才能使更改生效。
仅供参考,不严格要求SupportedModules。如果你是为客户构建这个,而不是为了分发而构建它。
希望这有帮助。