Do It Yourself Guide

1. Create Empty Web Application Project

In Visual Studio 2010, create new empty C# Web Application Project as shown below:

NewProject.jpg

2. Copy website files into Web Application project

Download latest BlogEngine.NET source code and copy lib, BlogEngine.Core and BlogEngine.Test folders to new WAP solution. Your folder structure should look like this (ignore _Resharper and .hg files):

FolderStructure3.jpg

3. Configure Visual Studio Solution

  • Open solution in Visual Studio 2010
  • Add Core and Tests projects to solution (file -> add -> existing project)
  • Add Core project reference to web application (right-click BlogEngine.Web in solution explorer -> add reference -> project reference -> BlogEngine.Core)
  • Add reference -> browse -> up to the “lib” folder -> down to “razor” and select all DLLs in that folder -> ok to add
  • Set BlogEngine.Web as startup project (right-click in solution explorer, set as startup project)
  • Save all, build solution - should be no errors.

4. Convert to Web Application

  • Copy all files from BlogEngine.NET to BlogEngine.Web overriding existing
  • Rename App_Code folder to AppCode
  • In VS solution explorer, click "show all files" icon -> select all files and folders that will show up (except obj) -> right-click -> include in project
  • Select BlogEngine.Web in solution explorer -> right-click -> convert to web application -> yes to confirm (in VS 2013 this option moved under "Project" menu)

5. Handle App_Code folder

  • For Razor helpers to work, we do need App_Code folder back. Right click BlogEngine.Web in VS solution explorer -> add -> new folder - > App_Code
  • Move AppCode/Helpers folder with all files to App_Code folder
  • Modify Web.Config from: <add namespace="App_Code.Controls" tagPrefix="blog"/> to: <add assembly="BlogEngine.Web" namespace="App_Code.Controls" tagPrefix="blog"/>

6. Edit location in post-build event

  • Select BlogEngine.Core -> Project -> Properties -> Build events
  • Change from BlogEngine.NET to BlogEngine.Web
  • Build -> build solution - should get no errors.

Last edited Jan 4, 2014 at 11:18 PM by rtur, version 13

Comments

asok1421 Apr 11, 2013 at 4:33 PM 
This process worked for me. I used the 2.7 source.

rtur Jan 29, 2013 at 2:40 PM 
To clarify: this guide is to build from latest BlogEngine.NET website source code. You DO NOT need to follow these steps to get 2.7.0.0 WAP version, it is already built using these exact steps and can be downloaded from "downloads" page.

daveh101 Jan 13, 2013 at 8:49 PM 
hi, I have followed these steps twice and I seem to get exactly the same error on the final build

I assume that it is something to do with the App_Code section that I am doing wrong, but basically the namespace App_Code used in over 100 files (such as categories.aspx.cs). There are a few other bits that throw up errors too, but these are all related to the App_Code folder (which is now called AppCode.

Any help will be appreciated

AnthonyGrace Aug 19, 2012 at 2:47 PM 
I just downloaded Web Application Project version - what are the above steps for??

rtur Jun 18, 2012 at 2:24 PM 
You need to remove jq-mobile package files in "packages" folder. They not needed as theme is already installed, and they conflict on compile.
I'll add this to the doc at the next sync with BE.

Fetch Jun 14, 2012 at 3:48 PM 
I followed the steps above twice and both times got 2 errors in ThemeHelper.cs lines 15 and 26.

The namespace 'Raisr.BE' already contains a definition for 'ThemeHelper'
The type 'Raisr.BE.ThemeHelper' already contains a definition for 'PageType'

Please advise - thanks