无模板模块开发

时间:2014-03-10 22:09:34

标签: dotnetnuke dotnetnuke-module

在整个互联网上,DotNetNuke的文档很广泛,这本身就非常有用。然而,存在一个障碍,我似乎无法解决它。 如果没有Chris Hammond的模板,你如何进行DotNetNuke模块开发?

此模板已被广泛接受并利用,因此不存在其他文档。

我已经完成了以下工作:

  • 已配置的SQL Server数据库
  • 已配置的Internet信息系统(绑定)
  • 修改了System32主机文件(对于本地IP以反映网站名称)
  • 安装了MSBuild社区任务
  • 已安装DotNetNuke Instance

一切都已安装到位,现在我已将DotNetNuke的Site打开到Visual Studio中并配置我的项目以实际构建模块。

我想如果我引用DotNetNuke的.dll就足够了,但 Web Forms Project 会加载所有这些影响开发的额外垃圾。

有人可以概述在没有Visual Studio模板的情况下从头开始构建环境的正确方法吗?

3 个答案:

答案 0 :(得分:2)

  1. 设置DNN开发环境,即使您没有使用我的模板,我建议采用相同的开发环境方法http://www.christoc.com/Tutorials/All-Tutorials/aid/1
  2. 使用Visual Studio在DNN开发环境中创建一个新的Web应用程序项目,其中/ desktopmodules /的位置。 (按照本教程的第9步http://www.christoc.com/Tutorials/All-Tutorials/aid/4
  3. 删除Visual Studio放入WAP项目的所有内容(文件夹,web.config等)。
  4. 在网站的BIN文件夹中添加对DotNetNuke.dll的程序集引用
  5. 右键单击项目属性并设置项目属性,使Build位置成为网站的BIN文件夹(../../ bin)
  6. 更改网页标签,设置以下属性

    IISUrl:http://dnndev.me/desktopmodules/MODULENAME

    OverrideIISAppRootUrl:真

    IIS应用根网址:http://dnndev.me

  7. 将ASCX文件添加到项目中。 (view.ascx)
  8. 将ASCX文件的BASE类更改为从PortalModuleBase继承
  9. 编译您的模块
  10. 使用DNN(主机/分机)注册模块
  11. 将模块添加到页面。
  12. TL; DR

    1. 使用模板为自己省去步骤2-8和10的麻烦。

答案 1 :(得分:1)

老实说,如果你想要的最好的选择是使用Chris的模板作为基础,并编辑它以使其像你想要的那样简单。

我有一个只有MSBuild配置的普通模板,因为我在任何开发机器上都没有DNN的本地副本。

他的模板的关键神奇部分是MSBuild的东西,我更进一步使用NuGet管理DNN的包/引用,这样我本地没有任何其他DNN文件。

答案 2 :(得分:1)

这是我在开始使用模板之前所做的事情。与@bdukes非常相似,但我不想在DesktopModules文件夹中进行开发,而是希望将我的模块保存在DNN之外的自己的项目中。

  1. 在Visual Studio中,选择“文件” - >新 - >项目
  2. 从版本下拉列表中选择“.NET Framework 4”并使用C# - >从左侧树窗格中的Web,然后是“ASP.NET Empty Web Application”。
  3. 删除web.config文件。
  4. 添加对DotNetNuke dll的引用。
  5. 向项目添加新的用户控件,这将是您项目的主视图。
  6. 确保用户控件继承自DotNetNuke.Entities.Modules.PortalModuleBase而不是System.Web.UI.UserControl。
  7. 在Visual Studio中构建项目。
  8. 右键单击Visual Studio中的项目,然后选择“在文件资源管理器中打开文件夹”。
  9. 将项目的DLL复制到dotnetnuke实例的bin文件夹中。
  10. 将项目文件夹粘贴到DotNetNuke实例DesktopModules文件夹中。
  11. 从DesktopModules下粘贴的文件夹中删除除您创建的用户控件之外的所有文件。
  12. 登录您的DNN实例。
  13. 导航至主机 - >扩展程序 - >创建新模块。
  14. 从下拉列表中选择“控制”。
  15. 选择您在DesktopModules中粘贴的模块文件夹(不是所有者文件夹)。
  16. 为您的模块命名并勾选“添加测试页”选项。
  17. 点击“创建模块”。
  18. 然后,您将进入测试页面,新模块仅使用空的用户控件运行。然后,您可以将控件添加到modules文件夹中,重建并将新DLL复制到DNN的bin文件夹中,您将看到DNN中的更改。

    然后我会回到主持人 - >新创建的模块旁边的扩展和点击编辑(铅笔)。在页面底部有一个“创建包”按钮。按照提示操作,直到您进入预览清单文件。将其复制为模块清单文件并将其添加到项目中。

    不要忘记将任何新视图,编辑,设置控件添加到模块定义并重新创建清单。 (主机 - >模块旁边的扩展和点击编辑(铅笔) - >模块定义标题)