I'm trying to combine two modules in one package. They share the same code base (and assembly dll), and in the past, I just included them as individual modules. However, upgrading to DNN 5, I tried to upgrade the manifest so that both were in one package. The .dnn file is below. The problem is that whenever I install this package on any DNN installation, I get an error in the admin control panel under teh module area. No modules are listed (because of the error). Evidently, my dnn file is not correct. I uninstall the package and the error goes away. I've checked the tables in the DNN database without any success. Any assistance/hints/tips would be greatly appreciated!
The error:
An error has occurred.
DotNetNuke.Services.Exceptions.ModuleLoadException: An entry with the same key already exists. ---> System.ArgumentException: An entry with the same key already exists. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.SortedList`2.Add(TKey key, TValue value) at DotNetNuke.Entities.Modules.DesktopModuleController.GetPortalDesktopModules(Int32 portalID) at DotNetNuke.UI.ControlPanel.AddModule.LoadModuleList() at DotNetNuke.UI.ControlPanel.AddModule.LoadAllLists() at DotNetNuke.UI.ControlPanel.AddModule.Page_Load(Object sender, EventArgs e) --- End of inner exception stack trace ---
The DNN file:
<dotnetnuke type="Package" version="5.0">
<packages>
<package name="Reporter" type="Module" version="00.00.03">
<friendlyName>Reporter</friendlyName>
<description>Custom Reporter module</description>
<owner>
<name>--</name>
<organization>--</organization>
<url>--</url>
<email>--</email>
</owner>
<license>--</license>
<releaseNotes>--</releaseNotes>
<components>
<component type="Script">
<scripts>
<basePath>DesktopModules\Reporter</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="ResourceFile">
<resourceFiles>
<basePath>DesktopModules/Reporter</basePath>
<resourceFile>
<name>Resources.zip</name>
</resourceFile>
</resourceFiles>
</component>
<component type="Module">
<desktopModule>
<moduleName>Reporter</moduleName>
<foldername>Reporter</foldername>
<businessControllerClass>com.wp.dnn.Reporter.FeatureController</businessControllerClass>
<supportedFeatures />
<moduleDefinitions>
<moduleDefinition>
<friendlyName>Reporter</friendlyName>
<defaultCacheTime>-1</defaultCacheTime>
<moduleControls>
<moduleControl>
<controlKey />
<controlSrc>DesktopModules/Reporter/View.ascx</controlSrc>
<supportsPartialRendering>False</supportsPartialRendering>
<controlTitle />
<controlType>View</controlType>
<iconFile />
<helpUrl />
<viewOrder>0</viewOrder>
</moduleControl>
<moduleControl>
<controlKey>Edit</controlKey>
<controlSrc>DesktopModules/Reporter/Edit.ascx</controlSrc>
<supportsPartialRendering>False</supportsPartialRendering>
<controlTitle>Edit Content</controlTitle>
<controlType>Edit</controlType>
<iconFile />
<helpUrl />
<viewOrder>0</viewOrder>
</moduleControl>
<moduleControl>
<controlKey>Settings</controlKey>
<controlSrc>DesktopModules/Reporter/Settings.ascx</controlSrc>
<supportsPartialRendering>False</supportsPartialRendering>
<controlTitle>ReporterSettings</controlTitle>
<controlType>Edit</controlType>
<iconFile />
<helpUrl />
<viewOrder>0</viewOrder>
</moduleControl>
</moduleControls>
</moduleDefinition>
</moduleDefinitions>
</desktopModule>
</component>
<component type="Module">
<desktopModule>
<moduleName>Reporter Items</moduleName>
<foldername>Reporter</foldername>
<businessControllerClass>com.wp.dnn.Reporter.FeatureController</businessControllerClass>
<supportedFeatures />
<moduleDefinitions>
<moduleDefinition>
<friendlyName>ReporterItems</friendlyName>
<defaultCacheTime>-1</defaultCacheTime>
<moduleControls>
<moduleControl>
<controlKey />
<controlSrc>DesktopModules/Reporter/UserItems.ascx</controlSrc>
<supportsPartialRendering>False</supportsPartialRendering>
<controlTitle />
<controlType>View</controlType>
<iconFile />
<helpUrl />
<viewOrder>0</viewOrder>
</moduleControl>
<moduleControl>
<controlKey>Settings</controlKey>
<controlSrc>DesktopModules/Reporter/UserItemsSettings.ascx</controlSrc>
<supportsPartialRendering>False</supportsPartialRendering>
<controlTitle>Reporter Settings</controlTitle>
<controlType>Edit</controlType>
<iconFile />
<helpUrl />
<viewOrder>0</viewOrder>
</moduleControl>
</moduleControls>
</moduleDefinition>
</moduleDefinitions>
</desktopModule>
</component>
<component type="Assembly">
<assemblies>
<basePath>bin</basePath>
<assembly>
<name>Reporter.dll</name>
</assembly>
</assemblies>
</component>
</components>
</package>
</packages>
</dotnetnuke>