如何在一个 DNN Manifest 文件中安装多个包?

How to Install Multiple Packages in one DNN Manifest File?

我正在为 DNN 9.2 编写自定义模块,但无法将压缩文件安装到我的本地 DNN 实例中。我觉得这是由于解决方案的清单 (DNN) 文件所致。清单包含许多 <package> 节点,每个节点对应我需要安装的每个模块。清单示例如下:

<package name="Modoule1" type="Module" version="0.0.2">
  <friendlyName>Module1</friendlyName>
  <description>Display store links like cart/order history/account/help.</description>
  <iconFile></iconFile>
  <owner>

  </owner>
  <license src="License.txt"></license>
  <releaseNotes src="ReleaseNotes.txt"></releaseNotes>
  <azureCompatible>true</azureCompatible>
  <dependencies>
    <dependency type="CoreVersion">09.00.00</dependency>
  </dependencies>
  <components>
    <component type="Script">
      <scripts>
        <basePath>DesktopModules\MyModule</basePath>
        <script type="Install">
          <path>Providers\DataProviders\SqlDataProvider</path>
          <name>00.00.01.SqlDataProvider</name>
          <version>00.00.01</version>
        </script>
        <script type="UnInstall">
          <path>Providers\DataProviders\SqlDataProvider</path>
          <name>Uninstall.SqlDataProvider</name>
          <version>00.00.01</version>
        </script>
      </scripts>
    </component>
    <component type="Module">
      <desktopModule>
        <moduleName>Module1</moduleName>
        <folderName>Module1</folderName>
        <businessControllerClass>ModuleSolution.Components.FeatureController</businessControllerClass>
        <supportedFeatures>
          <supportedFeature>IPortable</supportedFeature>
          <supportedFeature>ISearchable</supportedFeature>
          <supportedFeature>IUpgradeable</supportedFeature>
        </supportedFeatures>
        <moduleDefinitions>
          <moduleDefinition>
            <friendlyName>Module1</friendlyName>
            <defaultCacheTime>0</defaultCacheTime>
            <moduleControls>
              <moduleControl>
                <controlKey></controlKey>
                <controlSrc>DesktopModules/MyModule/Module1.ascx</controlSrc>
                <supportsPartialRendering>False</supportsPartialRendering>
                <controlTitle>Module Content</controlTitle>
                <controlType>View</controlType>
                <iconFile />
                <helpUrl />
                <viewOrder>0</viewOrder>
                <supportsPopUps>True</supportsPopUps>
              </moduleControl>
              <moduleControl>
                <controlKey>Module1 Settings</controlKey>
                <controlSrc>DesktopModules/MyModule/Module1Settings.ascx</controlSrc>
                <supportPartialRendering>False</supportPartialRendering>
                <controlTitle>Module1 Settings</controlTitle>
                <controlType>Edit</controlType>
                <iconFile/>
                <helpUrl/>
                <viewOrder>0</viewOrder>
              </moduleControl>
            </moduleControls>
          </moduleDefinition>
        </moduleDefinitions>
      </desktopModule>
      <eventMessage>
        <processorType>DotNetNuke.Entities.Modules.EventMessageProcessor, DotNetNuke</processorType>
        <processorCommand>UpgradeModule</processorCommand>
        <attributes>
          <businessControllerClass>MyModule.Components.FeatureController</businessControllerClass>
          <desktopModuleID>[DESKTOPMODULEID]</desktopModuleID>
          <upgradeVersionsList>00.00.01</upgradeVersionsList>
        </attributes>
      </eventMessage>
    </component>
    <component type="Assembly">
      <assemblies>
        <assembly>
          <name>MyModule.dll</name>
          <path>bin</path>
        </assembly>
        <assembly>
          <name>Library1.dll</name>
          <path>bin</path>
        </assembly>
        <assembly>
          <name>Library2.dll</name>
          <path>bin</path>
        </assembly>
      </assemblies>
    </component> 
    <component type="ResourceFile">
      <resourceFiles>
        <basePath>DesktopModules/MyModule</basePath>
        <resourceFile>
          <name>Resources.zip</name>
        </resourceFile>
      </resourceFiles>
    </component>
  </components>
</package>

DNN 扩展安装程序指出

Zip File Upload Failed:
An unknown error has occured. Please check your installation zip file and try again. 
Common issues with bad installation files:
Zip file size is too large, check your IIS settings for max upload file size.
Missing resources in the zip file.
Invalid files in the package.
File extension is not .zip.
Check that you are logged in.

没有错误写入 DNN 数据库中的事件日志 table。 如何修改以上内容以确保清单文件格式正确?

我对多个包使用以下格式。

<dotnetnuke type="Package" version="5.0">
  <packages>

      <package name="xxx" type="Module" version="01.00.00">
         //rest of nodes
      </package>

      <package name="xxx" type="SkinObject" version="01.00.00">
         //rest of nodes
      </package>      
  </packages>
</dotnetnuke>

如果还是不行,获取另一个模块的 .dnn 文件并比较丢失的节点等。