I made the sample ThingsForSale module using Michael Washington's step by step instructions at...
http://www.adefwebserver.com/DotNetNukeHELP/DNN_Things4Sale/
It worked, and I was able to upload the Source Version, install it and use it. ...That part's great.
But when I try to follow the steps on packaging it for distribution using DLL's I'm running into some problems. I'm hoping someone can help with here.
http://adefwebserver.com/DotNetNukeHELP/DNN_PackageModule/Default.htm
I'm able to Create the Compiled assemblies, and got them to compile to seperate files (just like in the tutorial, after I added a SubCode directory to the Web.Config). But When I use the Manifest, and install the module, I get the following Error when trying to put the module on a page.
Error: ThingsForSale is currently unavailable.
DotNetNuke.Services.Exceptions.ModuleLoadException: The file '/DesktopModules/ThingsForSale/ViewThingsForSale.ascx.vb' does not exist. ---> System.Web.HttpParseException: The file '/DesktopModules/ThingsForSale/ViewThingsForSale.ascx.vb' does not exist. ---> System.Exception: The file '/DesktopModules/ThingsForSale/ViewThingsForSale.ascx.vb' does not exist. ---> System.Exception: The file '/DesktopModules/ThingsForSale/ViewThingsForSale.ascx.vb' does not exist. ---> System.Exception: The file '/DesktopModules/ThingsForSale/ViewThingsForSale.ascx.vb' does not exist. ---> System.Web.HttpException: The file '/DesktopModules/ThingsForSale/ViewThingsForSale.ascx.vb' does not exist. at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath) at System.Web.UI.TemplateParser.ProcessCodeFile(VirtualPath codeFileVirtualPath) at System.Web.UI.TemplateParser.ProcessMainDirectiveAttribute(String deviceName, String name, String value, IDictionary parseData) --- End of inner exception stack trace --- at System.Web.UI.TemplateParser.ProcessException(Exception ex) at System.Web.UI.TemplateParser.ProcessMainDirectiveAttribute(String deviceName, String name, String value, IDictionary parseData) at System.Web.UI.TemplateControlParser.ProcessMainDirectiveAttribute(String deviceName, String name, String value, IDictionary parseData) at System.Web.UI.TemplateParser.ProcessMainDirective(IDictionary mainDirective) --- End of inner exception stack trace --- at System.Web.UI.TemplateParser.ProcessException(Exception ex) at System.Web.UI.TemplateParser.ProcessMainDirective(IDictionary mainDirective) at System.Web.UI.TemplateControlParser.ProcessMainDirective(IDictionary mainDirective) at System.Web.UI.TemplateParser.ProcessDirective(String directiveName, IDictionary directive) at System.Web.UI.BaseTemplateParser.ProcessDirective(String directiveName, IDictionary directive) at System.Web.UI.TemplateControlParser.ProcessDirective(String directiveName, IDictionary directive) at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) --- End of inner exception stack trace --- at System.Web.UI.TemplateParser.ProcessException(Exception ex) at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) --- End of inner exception stack trace --- at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath) at System.Web.UI.TemplateParser.ParseInternal() at System.Web.UI.TemplateParser.Parse() at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at System.Web.UI.TemplateControl.LoadControl(String virtualPath) at DotNetNuke.UI.Skins.Skin.InjectModule(Control objPane, ModuleInfo objModule, PortalSettings PortalSettings) --- End of inner exception stack trace ---
I recompiled again, installed and now get this error when trying to put it on the page
Error: ThingsForSale is currently unavailable.
DotNetNuke.Services.Exceptions.ModuleLoadException: C:\Inetpub\vhosts\scriptmonkey.com\httpdocs\DesktopModules\ThingsForSale\ViewThingsForSale.ascx(5): error BC30456: 'Page_Load' is not a member of 'ASP.desktopmodules_thingsforsale_viewthingsforsale_ascx'. ---> System.Web.HttpCompileException: C:\Inetpub\vhosts\scriptmonkey.com\httpdocs\DesktopModules\ThingsForSale\ViewThingsForSale.ascx(5): error BC30456: 'Page_Load' is not a member of 'ASP.desktopmodules_thingsforsale_viewthingsforsale_ascx'. at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at System.Web.UI.TemplateControl.LoadControl(String virtualPath) at DotNetNuke.UI.Skins.Skin.InjectModule(Control objPane, ModuleInfo objModule, PortalSettings PortalSettings) --- End of inner exception stack trace ---
The Install looks clean. Here's the log from that...
StartJob Starting Installation
StartJob Reading files
Info Loading App_Web_viewthingsforsale.ascx.263551c.dll
Info File App_Web_viewthingsforsale.ascx.263551c.dll read successfully
Info Loading App_SubCode_ThingsForSale.dll
Info File App_SubCode_ThingsForSale.dll read successfully
Info Loading ViewThingsForSale.ascx
Info File ViewThingsForSale.ascx read successfully
Info Loading 01.00.00.SqlDataProvider
Info File 01.00.00.SqlDataProvider read successfully
Info Loading ThingsForSale.dnn
Info File ThingsForSale.dnn read successfully
Info Loading Uninstall.SqlDataProvider
Info File Uninstall.SqlDataProvider read successfully
EndJob Reading files done.
StartJob Reading DNN file
Info DNN file is in valid 3.0 format.
Info xml loaded.
Info Loading files info
Info Loading Modules info
Info Loading Control info for 'ThingsForSale' module
EndJob Dnn load finished successfully
StartJob Begin Sql execution
Info Executing 01.00.00.SqlDataProvider
StartJob Start Sql execution: 01.00.00.SqlDataProvider file
EndJob End Sql execution: 01.00.00.SqlDataProvider file
EndJob Finished Sql execution
StartJob Creating files
Info Created C:\Inetpub\vhosts\scriptmonkey.com\httpdocs\DesktopModules\ThingsForSale\ViewThingsForSale.ascx
Info Created C:\Inetpub\vhosts\scriptmonkey.com\httpdocs\bin\App_SubCode_ThingsForSale.dll
Info Created C:\Inetpub\vhosts\scriptmonkey.com\httpdocs\bin\App_Web_viewthingsforsale.ascx.263551c.dll
Info Created C:\Inetpub\vhosts\scriptmonkey.com\httpdocs\DesktopModules\ThingsForSale\Providers\DataProviders\SqlDataProvider\01.00.00.SqlDataProvider
Info Created C:\Inetpub\vhosts\scriptmonkey.com\httpdocs\DesktopModules\ThingsForSale\Uninstall.SqlDataProvider
Info Created C:\Inetpub\vhosts\scriptmonkey.com\httpdocs\DesktopModules\ThingsForSale\ThingsForSale.dnn.config
EndJob Files created
StartJob Registering DesktopModule
Info Registering Definitions
Info Registering Controls
EndJob Registering finished
EndJob Installation successful.
And finally here's the Manifest I'm using.
<dotnetnuke version="3.0" type="Module">
<folders>
<folder>
<name>ThingsForSale</name>
<friendlyname>ThingsForSale</friendlyname>
<foldername>ThingsForSale</foldername>
<modulename>ThingsForSale</modulename>
<description>ThingsForSale</description>
<version>01.00.00</version>
<businesscontrollerclass>
</businesscontrollerclass>
<modules>
<module>
<friendlyname>ThingsForSale</friendlyname>
<cachetime>0</cachetime>
<controls>
<control>
<title>ThingsForSale</title>
<src>DesktopModules/ThingsForSale/ViewThingsForSale.ascx</src>
<type>View</type>
</control>
</controls>
</module>
</modules>
<files>
<file>
<name>ViewThingsForSale.ascx</name>
</file>
<file>
<name>App_SubCode_ThingsForSale.dll</name>
</file>
<file>
</file>
<name>App_Web_viewthingsforsale.ascx.263551c.dll</name>
<file>
<name>01.00.00.SqlDataProvider</name>
</file>
<file>
<name>Uninstall.SqlDataProvider</name>
</file>
</files>
</folder>
</folders>
</dotnetnuke>
Can someone see what I might be doing wrong? Your help is much appreciated,
-Glenn