[DNN模块开发]如何写dnn文件
在所有DNN模块的安装包中,都有一个*.DNN文件。这个文件就是DNN模块的安装文件清单。在安装模块时DNN应用程序读取该文件,按照文件清单中的内容安装相关文件和数据库脚本。
DNN文件是一个XML文件结构大致如下:
![]() <!--dotnetnuke节点,说明改文件时模块安装清单,使用与3.0.X版的DNN程序-->
<!--dotnetnuke节点,说明改文件时模块安装清单,使用与3.0.X版的DNN程序-->
![]() <dotnetnuke version="3.0" type="Module">
<dotnetnuke version="3.0" type="Module">
![]() <folders>
  <folders>
![]() <folder>
    <folder>
![]() <!--模块名称-->
      <!--模块名称-->
![]() <name>CLinks</name>
      <name>CLinks</name>
![]() <!--模块名称(模块的友好名称)-->
      <!--模块名称(模块的友好名称)--> 
![]() <friendlyname>CLinks</friendlyname>
      <friendlyname>CLinks</friendlyname>
![]() <!--模块功能描述-->
      <!--模块功能描述-->
![]() <description>分类链接模块</description>
      <description>分类链接模块</description>
![]() <!--模块版本-->
      <!--模块版本--> 
![]() <version>01.00.00</version>
      <version>01.00.00</version>
![]() <!--业务逻辑类-->
      <!--业务逻辑类-->
![]() <businesscontrollerclass>DNNChina.Modules.CLinks.CLinksController, DNNChina.Modules.CLinks</businesscontrollerclass>
      <businesscontrollerclass>DNNChina.Modules.CLinks.CLinksController, DNNChina.Modules.CLinks</businesscontrollerclass>
![]() <modules>
      <modules>
![]() <module>
        <module>
![]() <friendlyname>CLinks</friendlyname>
          <friendlyname>CLinks</friendlyname>
![]() <!--模块所包含的控件-->
          <!--模块所包含的控件-->
![]() <controls>
          <controls>
![]() <!--显示控件-->
            <!--显示控件-->
![]() <control>
            <control>
![]() <src>DesktopModules/CLinks/CLinks.ascx</src>
              <src>DesktopModules/CLinks/CLinks.ascx</src>
![]() <type>View</type>
              <type>View</type>
![]() </control>
            </control>
![]() <!--编辑控件-->
            <!--编辑控件-->
![]() <control>
            <control>
![]() <key>Edit</key>
              <key>Edit</key>
![]() <title>Edit CLinks</title>
              <title>Edit CLinks</title>
![]() <src>DesktopModules/CLinks/EditCLinks.ascx</src>
              <src>DesktopModules/CLinks/EditCLinks.ascx</src>
![]() <type>Edit</type>
              <type>Edit</type>
![]() </control>
            </control>
![]() <!--设置控件-->
            <!--设置控件-->
![]() <control>
            <control>
![]() <key>Settings</key>
              <key>Settings</key>
![]() <title>Settings CLinks</title>
              <title>Settings CLinks</title>
![]() <src>DesktopModules/CLinks/Settings.ascx</src>
              <src>DesktopModules/CLinks/Settings.ascx</src>
![]() <type>Edit</type>
              <type>Edit</type>
![]() </control>
            </control>
![]() </controls>
          </controls>
![]() </module>
        </module>
![]() </modules>
      </modules>
![]() <!--需要安装的文件清单-->
      <!--需要安装的文件清单--> 
![]() <files>
      <files>
![]() <!--程序集文件-->
        <!--程序集文件-->
![]() <file>
        <file>
![]() <name>DNNChina.Modules.CLinks.dll</name>
          <name>DNNChina.Modules.CLinks.dll</name>
![]() </file>
        </file>
![]() <file>
        <file>
![]() <name>DNNChina.Modules.CLinks.SqlDataProvider.dll</name>
          <name>DNNChina.Modules.CLinks.SqlDataProvider.dll</name>
![]() </file>
        </file>
![]() <!--用户控件文件-->
        <!--用户控件文件-->
![]() <file>
        <file>
![]() <name>CLinks.ascx</name>
          <name>CLinks.ascx</name>
![]() </file>
        </file>
![]() <file>
        <file>
![]() <name>EditCLinks.ascx</name>
          <name>EditCLinks.ascx</name>
![]() </file>
        </file>
![]() <file>
        <file>
![]() <name>Settings.ascx</name>
          <name>Settings.ascx</name>
![]() </file>
        </file>
![]() <!--语言包文件-->
        <!--语言包文件-->
![]() <file>
        <file>
![]() <path>App_LocalResources</path>
          <path>App_LocalResources</path>
![]() <name>CLinks.ascx.resx</name>
          <name>CLinks.ascx.resx</name>
![]() </file>
        </file>
![]() <file>
        <file>
![]() <path>App_LocalResources</path>
          <path>App_LocalResources</path>
![]() <name>CLinks.ascx.zh-CN.resx</name>
          <name>CLinks.ascx.zh-CN.resx</name>
![]() </file>
        </file>
![]() <file>
        <file>
![]() <path>App_LocalResources</path>
          <path>App_LocalResources</path>
![]() <name>EditCLinks.ascx.resx</name>
          <name>EditCLinks.ascx.resx</name>
![]() </file>
        </file>
![]() <file>
        <file>
![]() <path>App_LocalResources</path>
          <path>App_LocalResources</path>
![]() <name>EditCLinks.ascx.zh-CN.resx</name>
          <name>EditCLinks.ascx.zh-CN.resx</name>
![]() </file>
        </file>
![]() <file>
        <file>
![]() <path>App_LocalResources</path>
          <path>App_LocalResources</path>
![]() <name>Settings.ascx.resx</name>
          <name>Settings.ascx.resx</name>
![]() </file>
        </file>
![]() <file>
        <file>
![]() <path>App_LocalResources</path>
          <path>App_LocalResources</path>
![]() <name>Settings.ascx.zh-CN.resx</name>
          <name>Settings.ascx.zh-CN.resx</name>
![]() </file>
        </file>
![]() <!--数据库安装脚本-->
        <!--数据库安装脚本--> 
![]() <file>
    <file>
![]() <name>01.00.00.SqlDataProvider</name>
      <name>01.00.00.SqlDataProvider</name>
![]() </file>
    </file>
![]() <!--数据库卸载脚本-->
        <!--数据库卸载脚本--> 
![]() <file>
    <file>
![]() <name>Uninstall.SqlDataProvider</name>
      <name>Uninstall.SqlDataProvider</name>
![]() </file>
    </file>
![]() </files>
      </files>
![]() </folder>
    </folder>
![]() </folders>
  </folders>
![]() </dotnetnuke>
</dotnetnuke>
![]() 
DNN文件是一个XML文件结构大致如下:
 <!--dotnetnuke节点,说明改文件时模块安装清单,使用与3.0.X版的DNN程序-->
<!--dotnetnuke节点,说明改文件时模块安装清单,使用与3.0.X版的DNN程序--> <dotnetnuke version="3.0" type="Module">
<dotnetnuke version="3.0" type="Module"> <folders>
  <folders> <folder>
    <folder> <!--模块名称-->
      <!--模块名称--> <name>CLinks</name>
      <name>CLinks</name> <!--模块名称(模块的友好名称)-->
      <!--模块名称(模块的友好名称)-->  <friendlyname>CLinks</friendlyname>
      <friendlyname>CLinks</friendlyname> <!--模块功能描述-->
      <!--模块功能描述--> <description>分类链接模块</description>
      <description>分类链接模块</description> <!--模块版本-->
      <!--模块版本-->  <version>01.00.00</version>
      <version>01.00.00</version> <!--业务逻辑类-->
      <!--业务逻辑类--> <businesscontrollerclass>DNNChina.Modules.CLinks.CLinksController, DNNChina.Modules.CLinks</businesscontrollerclass>
      <businesscontrollerclass>DNNChina.Modules.CLinks.CLinksController, DNNChina.Modules.CLinks</businesscontrollerclass> <modules>
      <modules> <module>
        <module> <friendlyname>CLinks</friendlyname>
          <friendlyname>CLinks</friendlyname> <!--模块所包含的控件-->
          <!--模块所包含的控件--> <controls>
          <controls> <!--显示控件-->
            <!--显示控件--> <control>
            <control> <src>DesktopModules/CLinks/CLinks.ascx</src>
              <src>DesktopModules/CLinks/CLinks.ascx</src> <type>View</type>
              <type>View</type> </control>
            </control> <!--编辑控件-->
            <!--编辑控件--> <control>
            <control> <key>Edit</key>
              <key>Edit</key> <title>Edit CLinks</title>
              <title>Edit CLinks</title> <src>DesktopModules/CLinks/EditCLinks.ascx</src>
              <src>DesktopModules/CLinks/EditCLinks.ascx</src> <type>Edit</type>
              <type>Edit</type> </control>
            </control> <!--设置控件-->
            <!--设置控件--> <control>
            <control> <key>Settings</key>
              <key>Settings</key> <title>Settings CLinks</title>
              <title>Settings CLinks</title> <src>DesktopModules/CLinks/Settings.ascx</src>
              <src>DesktopModules/CLinks/Settings.ascx</src> <type>Edit</type>
              <type>Edit</type> </control>
            </control> </controls>
          </controls> </module>
        </module> </modules>
      </modules> <!--需要安装的文件清单-->
      <!--需要安装的文件清单-->  <files>
      <files> <!--程序集文件-->
        <!--程序集文件--> <file>
        <file> <name>DNNChina.Modules.CLinks.dll</name>
          <name>DNNChina.Modules.CLinks.dll</name> </file>
        </file> <file>
        <file> <name>DNNChina.Modules.CLinks.SqlDataProvider.dll</name>
          <name>DNNChina.Modules.CLinks.SqlDataProvider.dll</name> </file>
        </file> <!--用户控件文件-->
        <!--用户控件文件--> <file>
        <file> <name>CLinks.ascx</name>
          <name>CLinks.ascx</name> </file>
        </file> <file>
        <file> <name>EditCLinks.ascx</name>
          <name>EditCLinks.ascx</name> </file>
        </file> <file>
        <file> <name>Settings.ascx</name>
          <name>Settings.ascx</name> </file>
        </file> <!--语言包文件-->
        <!--语言包文件--> <file>
        <file> <path>App_LocalResources</path>
          <path>App_LocalResources</path> <name>CLinks.ascx.resx</name>
          <name>CLinks.ascx.resx</name> </file>
        </file> <file>
        <file> <path>App_LocalResources</path>
          <path>App_LocalResources</path> <name>CLinks.ascx.zh-CN.resx</name>
          <name>CLinks.ascx.zh-CN.resx</name> </file>
        </file> <file>
        <file> <path>App_LocalResources</path>
          <path>App_LocalResources</path> <name>EditCLinks.ascx.resx</name>
          <name>EditCLinks.ascx.resx</name> </file>
        </file> <file>
        <file> <path>App_LocalResources</path>
          <path>App_LocalResources</path> <name>EditCLinks.ascx.zh-CN.resx</name>
          <name>EditCLinks.ascx.zh-CN.resx</name> </file>
        </file> <file>
        <file> <path>App_LocalResources</path>
          <path>App_LocalResources</path> <name>Settings.ascx.resx</name>
          <name>Settings.ascx.resx</name> </file>
        </file> <file>
        <file> <path>App_LocalResources</path>
          <path>App_LocalResources</path> <name>Settings.ascx.zh-CN.resx</name>
          <name>Settings.ascx.zh-CN.resx</name> </file>
        </file> <!--数据库安装脚本-->
        <!--数据库安装脚本-->  <file>
    <file> <name>01.00.00.SqlDataProvider</name>
      <name>01.00.00.SqlDataProvider</name> </file>
    </file> <!--数据库卸载脚本-->
        <!--数据库卸载脚本-->  <file>
    <file> <name>Uninstall.SqlDataProvider</name>
      <name>Uninstall.SqlDataProvider</name> </file>
    </file> </files>
      </files> </folder>
    </folder> </folders>
  </folders> </dotnetnuke>
</dotnetnuke>
大家在开发模块时,可以照此结构编写自己需要的DNN安装文件。
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号