65.9K
CodeProject is changing. Read more.
Home

Create Your First MVC Project in Umbraco (ver 6)

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1 vote)

Jun 15, 2013

CPOL

2 min read

viewsIcon

35321

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: