Gather Required Materials
First thing to do is download the compiled module template as well as the MS Community Build Tasks
STEP 1: Download the Code Endeavors DotNetNuke Ajax Module Templates for C# and VB.NET from CodePlex
STEP 2: Download the MSBuild Community Tasks MSI installer or source code from Tigris.org

STEP 3: Install and Open a DotNetNuke Source Package. Must be DotNetNuke 5.0 Beta 2 or greater.
Begin Project Development

Right click on the Solution, Go to Add and New Project…
If you do it from within the DotNetNuke website, you do not get the same template options. If you have installed the DotNetNuke StarterKit package, you’ll notice that you only have options for dynamic and simple modules when you add from within the website. At the solution level, you will have access to the compiled module template as well. If you are unfamiliar with the packages, basically the Starter Kit is an add in for Visual Studio that will install templates for you for DNN Portal, Skin and Module Development. If you need more information on installing the Source Code package, read How to Install DotNetNuke 5.0 Cambrian and Video.
Select DotNetNuke Compiled Ajax Module. Name the project and also select the framework that you want to work with in the top right corner.

Next, fill in the intro screen. From here you can set up your company information and the namespace you want to use during your development. The location you give to the DotNetNuke directory will be used to automatically pull in the references that are required for the project as well as configuring the automated deployment processes. The namespace you specify will be used to set up you project properties and will be used on server and client side code files. The remainder of the files will be used on the new DotNetNuke 5.0 manifest files and will be shown to users as they install new “extensions”. To see more about this, visit the article, DotNetNuke 5.0 Cambrian Package Writer for Module Developers

On the following screen after filling out your personal information, you will be presented some security options about how Visual Studio should open the template project. This screen lets you know that a custom MS Build task is running. If you don’t see this screen, then you need to verify your MS Build Tasks installation. In order to use the custom build tasks, you need to select “Load project normally”.

Now the module should be installed and you should see the Code Endeavors welcome screen along with the project in your Solution Explorer. The welcome screen will tell you about a few things that you will need to do prior to going any further. There are some limitations that Visual Studio imposes which requires some work on our part, just the same as creating a DotNetNuke module from a template.

Here are some things that you should take the time to look at, review and get familiar with:
- Right click on the project file and go to Properties. Remove the Root Namespace and make sure the assembly is named as you desire


- Verify the DNNModule.targets file has the correct DotNetNuke deployment path.

The welcome page also states this about the DNNModule.targets file that you may want to check:
- Open your DNNModule.targets file.
- Locate the line and place your dotnetnuke folder location in between (L:\Users\btarrance\My Documents\Visual Studio 2008\Projects\DNN5\DNN5RC2Source\Website)
- Optionally set the deployment of the pdb file with the 1 setting.
- Close and re-open your project. Your changes to the MSBuild script will not take affect until you do so!
- After compiling your module, the installation file will be copied to your dotnetnuke site ready to invoke installation.
Once you have verified everything you need to, you need to build the project. Building the project will automatically deploy the module package to your DotNetNuke installation. You will notice in your physical file directory a folder called, "lib”. This is where the references are for the minimum version you are trying to develop against. Additionally, you will notice a “deploy” folder that contains module packages that have been created for you. You will find an install version as well as a source version.
Navigate to your website and use the URL method to install resource: http:/www.howtodotnetnuke.com/install/install.aspx?mode=installresources
On my first attempt, I received an error during installation.

However, I was able to find out what the issue was by logging into my site and trying to install using the traditional method. Remember, with DotNetNuke Cambrian, the Module Definitions page has now become Extensions. Installing with this method will help you track down the errors. In my case, the compiled .dll from my project was having a hard time copying from a temp directory to the DNN website bin directory. I just copied the .dll into the website bin directory and modified the .dnn manifest in the project. Rezipped it up and installed just fine.