Chris Hammond
 Latest Posts

Packaging your DotNetNuke Module using NANT

Last Updated Wednesday, January 23, 2008 4:51 PM


A few years back I was enlightened by Chris Paterra in the ways of using NANT scripts to aid in the packaging of DotNetNuke Modules. Using NANT to package your WAP (web application project) modules within Visual Studio 2005 is a snap, and can save you a LOT of time each time you have to come up with a new release.

Using NANT scripts we are able to create the Private Assembly Installation ZIP file and Source files for Engage: Publish by running a single command from the Command line. With our Publish module this process takes about 23 seconds on average, for our smaller modules such as Engage: F3 the process takes less than 2-3 seconds.

To get started with using NANT scripts in your own development environment you need to download the latest (0.85) release from SourceForge, you can visit the project page at http://sourceforge.net/projects/nant/

Once you've installed NANT on your machine (I install it on my C drive in a c:\nant\ folder) you'll need to add NANT to your system variables path so you can call it from the command line.

To do this:

Right click on My Computer and choose Properties

Go to the Advanced Tab

Find the System Variables section and Modify the Path variable

Add your NANT folder (c:\nant\) to the path, separating entries with the semicolon (;)

Save the settings.

Now I'd recommend adding a .BUILD file to your DNN Module's project/solution. I've provided a sample build file on our Tutorial Page at www.engagemodules.com, you do have to login in order to access the file. The provided sample file is a good start for your project, by opening up the file in VS2k5 you'll see it is a XML document with some basic information about the product name and folder location.

You'll want to find the references to Engage and EngageF3 in the BUILD file and replace them with the name of your module and business name. You can also play around with the include/exclude options in the Fileset node to add or remove certain types of files from your packages. You'll see the two sections in the build file that define which ZIP files to create, one section is called CreateBinZip and one is called CreateSrcZip.

Once you have the BUILD file setup you'll want to check a few more files in your DNN project.

In the .DNN File be sure to set your module version properly and include the SQLDATAPROVIDER files, as well as the necessary DLLs. In the AssemblyInfo.vb (.cs in our case. At Engage as we do 95% of our DNN module development in C#) be sure to setup your DLL information and version information. By setting the version number in the assemblyinfo and .dnn file you can get NANT to include the version number in the package's file name, allowing an easy way to handle upgrades from version to version for your modules.

Once you have all of the files in the solution setup properly you can run the NANT script. To do that bring up a Command Prompt, change directories to your DNN/desktopmodules/ModuleName/ folder. At the command line type "nant" and watch the magic happen.

If everything builds properly the script will create a Package folder in your Module's folder, inside of the Package folder you should find two newly created ZIP files, one labeled Install and one labeled Source.

 

Posted from weblogs.asp.net/christoc
Recent Comments

Thanks for this excellent info and espically providing the .BUILD file as starting point. It now saves a lot of time while developing modules.

Posted By: Prabhash Mishra on Wednesday, April 08, 2009 11:53 AM
 Tags
  1. 11 items are tagged with .net
  2. 58 items are tagged with asp.net
  3. 44 items are tagged with Autocross
  4. 8 items are tagged with Baseball
  5. 9 items are tagged with Book
  6. 39 items are tagged with Boston Red Sox
  7. 29 items are tagged with Community Server
  8. 14 items are tagged with communityserver
  9. 17 items are tagged with Corvette
  10. 26 items are tagged with daily tips
  11. 92 items are tagged with Development
  12. 8 items are tagged with DNN
  13. 174 items are tagged with DotNetNuke
  14. 8 items are tagged with DotNetnuke Conference
  15. 25 items are tagged with DotNetNuke Development
  16. 11 items are tagged with DotNetNuke Tips
  17. 12 items are tagged with DotNetNuke Training
  18. 65 items are tagged with Fitness
  19. 110 items are tagged with Friends
  20. 43 items are tagged with Games
  21. 32 items are tagged with general Software Development
  22. 21 items are tagged with HDTV
  23. 18 items are tagged with Health
  24. 376 items are tagged with Life News
  25. 12 items are tagged with Microsoft
  26. 38 items are tagged with Music
  27. 11 items are tagged with OpenForce 07
  28. 85 items are tagged with Photography
  29. 13 items are tagged with Photos
  30. 89 items are tagged with Pictures
  31. 108 items are tagged with Places to See
  32. 20 items are tagged with Project 240Z
  33. 12 items are tagged with Project 350Z
  34. 21 items are tagged with Red Sox
  35. 19 items are tagged with Red Sox in St. Louis
  36. 7 items are tagged with Saint Louis
  37. 15 items are tagged with SCCA
  38. 7 items are tagged with School
  39. 416 items are tagged with SEO
  40. 203 items are tagged with Site News
  41. 8 items are tagged with Snow
  42. 8 items are tagged with Solo Nationals
  43. 28 items are tagged with St. Louis
  44. 271 items are tagged with Technology
  45. 33 items are tagged with Travel
  46. 17 items are tagged with Vista
  47. 16 items are tagged with Weblog
  48. 9 items are tagged with World Series
  49. 16 items are tagged with Xbox360
  50. 11 items are tagged with Zune

Copyright 2010 by Christopher Hammond