我正在创建一个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不会复制到台式模块/注册目录。
我没有错误。这是DNN安装模块时所说的相关部分。我没有安装错误。
...
Info Component installed successfully - Script
Info Starting Installation - Module
Info Module registered successfully - SignUp
Info Component installed successfully - Module
Info Starting Installation - Assembly
...
谁能告诉我为什么控件不复制到适当的目录?
谢谢。
看来您在<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>
除了Ehsan的答案外,您还可以使用MSBUILD和CHRIS HAMMONDS模板(http://christoctemplate.codeplex.com),它将创建资源zip,而不是单个资源节点,而不是单个资源节点每个文件的单个节点