我正在创建一个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
...
有人能告诉我为什么控件没有复制到相应的目录吗?
感谢。
答案 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,并且您拥有单个资源节点而不是每个文件的单个节点