DNN模块包不安装控件

时间:2012-11-02 13:53:38

标签: module package dotnetnuke

我正在创建一个DNN模块,并有一个基于此的工作模块:http://www.subodh.com/Projects/DNN-Module

当我在DNN 5.6.2安装上安装它时,一切正常,但.ascx文件不能复制。如果我手动复制.ascx文件,模块工作正常。

我的.dnn文件如下所示:

...
<moduleDefinitions>
    <moduleDefinition>
        <friendlyName>SignUp.Control1</friendlyName>
        <defaultCacheTime>0</defaultCacheTime>
        <moduleControls>
            <moduleControl>
                <controlKey />
                <controlSrc>Control1.ascx/Control1.ascx</controlSrc>
                <supportsPartialRendering>True</supportsPartialRendering>
                <controlTitle>Control1</controlTitle>
                <controlType>View</controlType>
                <iconFile />
                <helpUrl />
                <viewOrder>0</viewOrder>
            </moduleControl>
...
        </moduleControls>
    </moduleDefinition>
</moduleDefinitions>
...

具体来说,Control1.ascx不会被复制到DesktopModules / SignUp目录。

我没有收到错误。以下是DNN在安装模块时所说的相关部分。我在安装时没有错误。

...
Info    Component installed successfully - Script
Info    Starting Installation - Module
Info    Module registered successfully - SignUp
Info    Component installed successfully - Module
Info    Starting Installation - Assembly
...

有人能告诉我为什么控件没有复制到相应的目录吗?

感谢。

2 个答案:

答案 0 :(得分:5)

<controlSrc>标签中似乎有误,也许您的意思是:<controlSrc>DesktopModules/SignUp.Control1/Control1.ascx</controlSrc>

您还需要在<component type="File">中提及此文件:

<component type="File">
  <files>
    <file>
      <path>Your Desire Path</path>
      <name>Control1.ascx</name>
    </file>
  </files>
</component>

答案 1 :(得分:2)

除了Ehsan的答案,您还可以使用MSBuild和Chris Hammonds模板(http://christoctemplate.codeplex.com)来创建资源zip,并且您拥有单个资源节点而不是每个文件的单个节点