Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Create Your First MVC Project in Umbraco (ver 6)

0.00/5 (No votes)
15 Jun 2013 1  
How to create your first MVC project in Umbraco

Introduction

Here, I am going to create a new blank MVC4 project in Microsoft Visual Studio 2010 and then I will add Umbraco 6.0.3 package to it. In this process, unfortunately, you may encounter a couple of bugs which have been highlighted in yellow.

Background

Umbraco is an open source ASP.NET CMS. More information regarding it can be found here.

Using the Code

  • Create an empty MVC 4 project in Visual Studio.
  • Add the NuGet Umbraco Cms Core Binaries package to manage various dependencies and references that Umbraco 6 requires. To do this, open Package Manager Console (From the Tools menu, select Library Package Manager and then click Package Manager Console) and type Install-Package UmbracoCms.Core -Version 6.0.3.

  • Download and copy all the files from the Umbraco installation ZIP archive directly into your project in Visual Studio except the App_Code and Bin folders – you won’t need the binaries as they are managed by NuGet and the App_Code folder is not used in a web application project.
  • Change the default mode for Umbraco from web forms to MVC in the defaultRenderingEngine setting in the Umbraco configuration file UmbracoSettings.config as shown below:
<templates>
	
<useAspNetMasterPages>true</useAspNetMasterPages>
<defaultRenderingEngine>Mvc</defaultRenderingEngine>
	
</templates>  

Unfortunately, if you run the application now, you may encounter the error ApplicationException: The current httpContext can only be set once during a request.

The solution is to do the following in the web.config file.

Copy the httpModules tag and keep it handy for later use.

Add <add name="umbracoRequestModule" type="umbraco.presentation.requestModule" />
Add <add name="umbracoBaseRequestModule" type="umbraco.presentation.umbracobase.requestModule" />
Comment out <!--<add name=" UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />--> 
<httpModules>
<!-- URL REWRTIER -->
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, 
UrlRewritingNet.UrlRewriter" />
<add name="umbracoRequestModule" type="umbraco.presentation.requestModule" />
<!-- UMBRACO --> 
<!--<add name=" UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />-->
<add name="umbracoBaseRequestModule" type="umbraco.presentation.umbracobase.requestModule" />
<!-- ASPNETAJAX -->
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, 
System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<!-- CLIENT DEPENDENCY -->
<add name="ClientDependencyModule" type="ClientDependency.Core.Module.ClientDependencyModule, 
ClientDependency.Core" />
</httpModules> 

Now the application will debug successfully and the Umbraco installation wizard will start to configure Admin and DataBase details.

The five steps of the wizard are displayed below:

Points of Interest

The following articles were consulted to compose this blog. For more details of any particular domain, click on the appropriate link below:

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here