Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Packagin Module for DLL distributionPackagin Module for DLL distribution
Previous
 
Next
New Post
9/21/2007 6:04 PM
 

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

 
New Post
9/22/2007 4:07 AM
 

Please google for the difference of WSP and WAP.

Michael preferes WSP modules, these modules are source only. If you want to go the classic way you need VS2005 and setup your project as WAP (Web application project) 

PS: I originally prefered WAP, so after developing some modules the WSP way, I don't want to switch back.

 
New Post
9/22/2007 10:03 AM
 

Click Here to download the file created with the tutorial. Compare it to your own.

If you know you are going to need a compiled assembly then it is better to use WAP. It is easier.



Michael Washington
http://ADefWebserver.com
www.ADefHelpDesk.com
A Free Open Source DotNetNuke Help Desk Module
 
New Post
9/23/2007 6:16 PM
 

Hey neat!  It's the man himself.  Thank you for the tutorials Michael.  I've been learning a lot from them.

Yeah, I tried comparing the code to the tutorial's downloads, but was unable to find the exact difference.

I'll do like you and Stefan say, and try working up a sample with the WAP method.

Thanks for the help guys,

-Glenn

 
New Post
9/25/2007 10:29 PM
 

It's been quite a while since I used the pre-compiled approach (as lately I too prefer using the WAP method in the few cases when I don't want to include source code for dynamic compilation).

I seem to recall, however, that when you use Publish Website, modified versions of the .ascx files will be created and placed (using their original names) in the pre-compiled folder. The primary modification that is automatically made is in the @Control directive to change the CodeFile and Inherits properties to reference the corresponding .dll rather than the .ascx.vb codefile.  Therefore, when creating your DNN module install .zip file, you MUST include the modified .ascx files from the pre-compiled folder rather than the original .ascx files from your DesktopModules/MyProjectWhatever folder.


Bill, WESNet Designs
Team Lead - DotNetNuke Gallery Module Project (Not Actively Being Developed)
Extensions Forge Projects . . .
Current: UserExport, ContentDeJour, ePrayer, DNN NewsTicker, By Invitation
Coming Soon: FRBO-For Rent By Owner
 
Previous
 
Next
HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Packagin Module for DLL distributionPackagin Module for DLL distribution


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out