Learn More





DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Customizing the latest Module Dev Project Templates

With the 2.0 release of my module development project templates last week I’ve had a few inquiries into how to customize the templates. Download the latest templates.

Why Modify the Templates?

First, why might you want to modify the custom templates? The main reason is that these templates are defined using a specific namespace, DotNetNuke.Modules.*, which is fine in most cases, but what if you want to use your own namespace? Well you have to create a project, then search/replace all instances of that namespace, while not removing any DNN references at the same time. Customizing the project templates will allow you to define your own company namespace, email address, website, and even copyright information, in the template so that you do not have to search/replace every time you create a new project.

With the VSIX file approach that I use for developing the templates making changes to the templates is pretty easy, but I’ve discovered one big hurdle. If you try to customize the templates using that approach you need to change GUIDs in order for the projects to not conflict with my public release of the project.

To get around that, I’ve come up with a different recommendation for modifying the templates, and if you’re at all familiar with my templates from long ago, it is the same approach.

In order to accommodate for this I’ve put together a new release for the templates, labeled 2.1, that has a couple of updates. Check out Codeplex for those updates, below you will find the instructions for how to modify based on the 2.1 release.


How to Modify the Project Templates

Modifying the templates consists of making a change to the VSTEMPLATE file in each of the project templates, there are 4 templates, so you will need to go through this process 4 times if you want to have each template available, if you’re a C# shop though perhaps you simply want to modify the 2 C# templates and not the VB ones.

  1. Download the ZIP file for the template that you want to modify
  2. Extract the ZIP file’s contents into a folder
    1. You might need to unblock the ZIP file first by right clicking on the file
    2. Choose properties
    3. Choose Unblock
  3. Edit the *.vstemplate file with a text editor
  4. Modify the Name of the template to something other than “DotNetNuke 7 VB.Net Compiled Module”, perhaps use your company name, “ DNN7 VB.Net Compiled Module”
  5. Modify the CustomParameter values for image
    1. rootnamespace – The namespace of your project, something like Christoc.Modules., that will become Christoc.Modules.ProjectName (where ProjectName is provided when you create the project in Visual Studio)
    2. ownername – The name used for Copyright text in the projects, and also in the owner information of the DNN manifest during module installation
    3. owneremail – The email address listed in the DNN manifest file used during module installation
    4. ownerwebsite – The website listed in the DNN manifest file used during module installation
    5. devenvironmenturl – The URL of your development environment, only change if you are using something different.
  6. Rename the *.vstemplate file to use a new name, ex: Christoc-VB-Module.vstemplate
  7. Select all the files in the extracted template folder (press Control-A)
  8. Right click on the *.vstemplate file
    1. Choose Send To
    2. Compressed Zip File
    3. Copy the newly created ZIP file (file should have the same name as the VSTEMPLATE file just with a ZIP extension)
  9. In Windows go to your My Documents\Visual Studio 2012\Templates\ProjectTemplates\Visual Basic folder (or Visual C# if you are working with the C# templates)
  10. Create a new folder called DotNetNuke
  11. Paste the ZIP file copied in Step 8.iii into the newly created DotNetNuke folder
  12. Repeat the process for any additional templates you want to modify.
  13. Start Visual Studio 2012 (if you had it open already, close it and open again)
  14. Create a new project, choosing one of your newly created templates.

If you haven’t read the post from last week be sure to read it, it has lots of info on how to setup your development environment and other items associated with the templates.

Cross posted from


There are currently no comments, be the first to post one.

Comment Form

Only registered users may post comments.


2sic Daniel Mettler (124)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (22)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (270)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?