Dotnetnuke 无模板模块开发

Dotnetnuke 无模板模块开发,dotnetnuke,dotnetnuke-module,Dotnetnuke,Dotnetnuke Module,关于DotNetNuke的整个互联网文档都非常广泛,这本身就非常有用。然而,有一个障碍存在,我似乎无法解决它。如果没有Chris Hammond的模板,您如何进行DotNetNuke模块开发 此模板已被广泛接受和使用,因此不存在其他文档 我已经完成了以下工作: 配置的SQL Server数据库 已配置的Internet信息系统绑定 修改了本地IP的System32主机文件以反映网站名称 已安装MSBuild社区任务 已安装的DotNetNuke实例 一切都已安装到位,现在我已将DotNetNuk

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

此模板已被广泛接受和使用,因此不存在其他文档

我已经完成了以下工作:

配置的SQL Server数据库 已配置的Internet信息系统绑定 修改了本地IP的System32主机文件以反映网站名称 已安装MSBuild社区任务 已安装的DotNetNuke实例 一切都已安装到位,现在我已将DotNetNuke的站点打开到Visual Studio中,并将我的项目配置为实际构建模块

我想如果我引用DotNetNuke的.dll就足够了,但是Web表单项目会加载所有这些额外的垃圾,从而影响开发


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

老实说,如果您愿意,最好是使用Chris的模板作为基础,并对其进行编辑,使其尽可能简单

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


他的模板的关键魔法部分是MSBuild,我更进一步,使用NuGet来管理对DNN的包/引用,这样我就不会在本地有任何其他DNN文件。

老实说,如果你愿意,最好是使用Chris的模板作为基础,并对其进行编辑,使其尽可能简单

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

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

设置DNN开发环境,即使您不使用我的模板,我建议使用相同的开发环境方法 使用Visual Studio在DNN开发环境中创建一个新的Web应用程序项目,其位置为/desktopmodules/。遵循本教程的步骤9 删除Visual Studio放入WAP项目文件夹、web.config等中的所有内容。 将程序集引用添加到网站的BIN文件夹中的DotNetNuke.dll 右键单击项目属性并设置项目属性,使生成位置成为网站的BIN文件夹.././BIN 更改web选项卡并设置以下属性

IISUrl:

OverrideIsApprootur:正确

IIS应用程序根URL:

将ASCX文件添加到项目中。view.ascx 将ASCX文件的基类更改为从PortalModuleBase继承 编译您的模块 向DNN主机/扩展注册模块 将模块添加到页面。 TL;博士

通过使用模板,省去步骤2-8和10中的麻烦。 设置DNN开发环境,即使您不使用我的模板,我建议使用相同的开发环境方法 使用Visual Studio在DNN开发环境中创建一个新的Web应用程序项目,其位置为/desktopmodules/。遵循本教程的步骤9 删除Visual Studio放入WAP项目文件夹、web.config等中的所有内容。 将程序集引用添加到网站的BIN文件夹中的DotNetNuke.dll 右键单击项目属性并设置项目属性,使生成位置成为网站的BIN文件夹.././BIN 更改web选项卡并设置以下属性

IISUrl:

OverrideIsApprootur:正确

IIS应用程序根URL:

将ASCX文件添加到项目中。view.ascx 将ASCX文件的基类更改为从PortalModuleBase继承 编译您的模块 向DNN主机/扩展注册模块 将模块添加到页面。 TL;博士

通过使用模板,省去步骤2-8和10中的麻烦。
这是我开始使用模板之前经常做的事情。与@bdukes非常相似,但我不想在DesktopModules文件夹中开发,我喜欢将我的模块保存在DNN之外的自己的项目中

在Visual Studio中,选择文件->新建->项目。 从版本下拉列表中选择“.NET Framework 4”,从左侧的树窗格中选择C->Web,然后选择“ASP.NET空Web应用程序”。 删除web.config文件。 添加对DotNetNuke dll的引用。 将新用户控件添加到项目中,这将是项目的主视图。 确保用户控件继承自DotNetNuke.Entities.Modules.PortalModuleBase,而不是System.Web.UI.UserControl。 在VisualStudio中生成项目。 在Visual Studio中右键单击该项目,然后选择“在文件资源管理器中打开文件夹”。 将项目的DLL复制到dotnetnuke实例的bin文件夹中。 将项目文件夹粘贴到DotNetNuke instances DesktopModules文件夹中。 全部删除 从粘贴在DesktopModules下的文件夹创建的用户控件以外的文件。 登录到您的DNN实例。 导航到主机->扩展->创建新模块。 从下拉列表中选择“控制”。 选择粘贴在DesktopModules中的模块文件夹而不是所有者文件夹。 为您的模块命名并勾选“添加测试页”选项。 单击“创建模块”。 然后,您将进入一个测试页面,新模块仅在空用户控件的情况下运行。然后,您可以将控件添加到modules文件夹中,重建新的DLL并将其复制到DNN的bin文件夹中,您将看到DNN中的更改

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


不要忘记向模块定义添加任何新的视图、编辑、设置控件,并重新创建清单。主机->扩展,然后单击模块->模块定义标题旁边的编辑铅笔,这是我开始使用模板之前经常做的事情。与@bdukes非常相似,但我不想在DesktopModules文件夹中开发,我喜欢将我的模块保存在DNN之外的自己的项目中

在Visual Studio中,选择文件->新建->项目。 从版本下拉列表中选择“.NET Framework 4”,从左侧的树窗格中选择C->Web,然后选择“ASP.NET空Web应用程序”。 删除web.config文件。 添加对DotNetNuke dll的引用。 将新用户控件添加到项目中,这将是项目的主视图。 确保用户控件继承自DotNetNuke.Entities.Modules.PortalModuleBase,而不是System.Web.UI.UserControl。 在VisualStudio中生成项目。 在Visual Studio中右键单击该项目,然后选择“在文件资源管理器中打开文件夹”。 将项目的DLL复制到dotnetnuke实例的bin文件夹中。 将项目文件夹粘贴到DotNetNuke instances DesktopModules文件夹中。 删除从粘贴在DesktopModules下的文件夹中创建的用户控件以外的所有文件。 登录到您的DNN实例。 导航到主机->扩展->创建新模块。 从下拉列表中选择“控制”。 选择粘贴在DesktopModules中的模块文件夹而不是所有者文件夹。 为您的模块命名并勾选“添加测试页”选项。 单击“创建模块”。 然后,您将进入一个测试页面,新模块仅在空用户控件的情况下运行。然后,您可以将控件添加到modules文件夹中,重建新的DLL并将其复制到DNN的bin文件夹中,您将看到DNN中的更改

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


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

您正在使用.net4吗?选择项目模板时,在“新建项目”对话框的顶部,如果从下拉列表中选择.NET Framework 4,则会出现一个ASP.NET空Web应用程序项目。是否使用.NET 4?选择项目模板时,在“新建项目”对话框的顶部,如果从下拉列表中选择.NET Framework 4,则会出现一个ASP.NET空Web应用程序项目。谢谢,我以后将使用该模板。在使用模板之前,我想完全掌握模板的功能。您的意思是向DNN主机/扩展注册模块。转到主机扩展页面,创建一个新模块。告诉DNN模块在哪里,ASCX文件是什么,等等,我以后会使用模板。在使用模板之前,我想完全掌握模板的功能。您的意思是向DNN主机/扩展注册模块。转到主机扩展页面,创建一个新模块。告诉DNN模块在哪里,ASCX文件是什么,等等