使用单独的解决方案(类库)来开发DNN的模块,并安装、制作.dnn文件-VB版本(1)
研究了一天,终于成功的把自己做一个模块安装到DNN上面(VS2005 + DotNetNuke_04.08.04 ),具体步骤
1、把DNN的sln打开。
2、创建一个类库,类库的位置放在 DesktopModules文件夹下,然后在 VS2005里面刷新DesktopModules文件夹,会看到新加的类库,相当于类库包含在DNN下。
3、为类库添加.ascx文件,因为类库不可以直接添加 .ascx文件,所以我把它建到DNN的DesktopModules文件夹下,因为DNN是网站,它可以添加.ascx文件,添加完成后,回到类库的VS界面,刷新一下,就可以看到新加的文件了,把它包含在项目中就可以了。因为不想使用模板,所以想到了这种方法。
4、在.ascx文件中随便添加点控件,类继承写“Inherits DotNetNuke.Entities.Modules.PortalModuleBase”,可能还可以继承其它的类,还没有仔细研究,我这样写是因为我安装模块的时候出错提示没有继承“DotNetNuke.Entities.Modules.PortalModuleBase”这个类。
5、如果在类库中编译出错,提示某某控件不存在,那就添加
#if MYBAT
protected TextBox TextBox1
#endif
参考:http://www.dnnchina.net/Default.aspx?tabid=370&view=topic&postid=2968&forumid=9
作者:lihongjun
参考:http://www.dnnchina.net/Default.aspx?tabid=370&view=topic&postid=2968&forumid=9
作者:lihongjun
6、类库编译成功后,用 IE 打开DNN网站,在 “Host » Module Definitions ”中,选择"Import Module Definition",
在DropDownList中选择自己的模板,然后 “Import Control”,这样模板就添加成功,可以在页面的顶端,通过“Show Control Panel?”来添加模板显示在网站上。
7、制作.dnn文件,模板成功添加之后,可以用DNN自带的打包功能将其打包 成.zip;
在 “Module Definitions ->Installed Modules”中选择自己的模板,点击左边的“铅笔”图标,会打开“Edit Module Definition",在最下面有“Create Module Package” ,进去后就可以打包,我是把3个 checkbox都选择了,点"Create"会出现生成log显示一些信息。