Much thanks to BenAmada for providing on this thread a step-by-step guide for converting the downloadable BlogEngine.Net Web Site Project to a Web Application Project.
This varies a bit from the MSDN Documentation walkthrough on moving an ASP.Net Web Site Project to a Web Application Project as there are some added steps due to several reasons in the architecture of BlogEngine.Net e.g. the way BlogEngine does themes, its widgets framework and controls dependencies. These are not to criticise the design decisions made, it still is a full featured, well built blogging application which I use and customise daily.
Here are the steps repeated, but I encourage anyone benefitting from this to post your thanks to Ben on this thread as well so that he knows.
1. Create a new WAP. File -> New -> Project -> Visual C# -> ASP.NET Web Application. Select the location (I created a new folder for this WAP project), and I used ‘BeWap’ for the Name of the project.
2. Close Solution.
3. In Windows Explorer, copy all the BE files into the WAP folder. You’ll be overwriting a couple of the files that were included in the new WAP project we created (default.aspx and web.config and maybe a couple of others).
4. Rename the App_Code folder to Old_App_Code.
5. Reopen WAP solution in Visual Studio.
6. Right-click on project name (BeWap) in Solution Explorer, and select ‘Add Reference’. Go to the Browse tab, and browse to the BIN directory in this project, select ‘BlogEngine.Core.dll’.
7. In Solution Explorer, click the ‘Show All Files’ icon. All the files/folders that we copied into the WAP folder will show up in Solution Explorer, but they are not yet included in the project, so they are white/ghosted out icons. Select all these ‘excluded’ folders/files in Solution Explorer, right-click and select ‘Include in Project’.
8. Select the top node in Solution Explorer, ‘BeWap’ (right under Solution ‘BeWap’). Right-click and select ‘Convert to Web Application’.
9. Save all files (Ctrl-Shift-S).
10. In the web.config file, in the <pages> section, there’s this line:
<add namespace=”Controls” tagPrefix=”blog”/>
Change that to:
<add assembly=”BeWap” namespace=”Controls” tagPrefix=”blog”/>
… where “BeWap” is the name of this WAP project.
11. The site.master files for Indigo, Mobile and Standard all have the same class name of ‘site’. Change the class name in site.master.cs for the Standard theme to site_standard and changed the Inherits attribute in the <%@ Master %> directive in site.master to site_standard (so they match). Need to do the same thing for the Indigo and Mobile themes … giving them class names of site_indigo and site_mobile.
12. The class name in edit.ascx, edit.ascx.cs and edit.ascx.designer.cs files in the RecentComments widget is widgets_RecentPosts_edit. Need to change the class name in these 3 files to widgets_RecentComments_edit.
13. The class name in edit.ascx, edit.ascx.cs and edit.ascx.designer.cs files in the TextBox widget is widgets_LinkList_edit. Need to change the class name in these 3 files to widgets_TextBox_edit.
14. The class name in widget.ascx, widget.ascx.cs and widget.ascx.designer.cs files in the TextBox widget is widgets_LinkList_widget. Need to change the class name in these 3 files to widgets_TextBox_widget.
15. Save all files (Ctrl-Shift-S).
16. When trying to build the project, I was getting about 47 errors about unrecognized controls. The problem was the ‘designer.cs’ files didn’t get created for these ASPX pages back in step 8 when I did the ‘Convert to Web Application’ command. Even if I try repeating that step again, the designer.cs files still do not get created. Visual Studio is complaining that various BE controls (blog:SearchBox, blog:PageList, etc) are unknown server tags. If Visual Studio can build the project once, then these BE controls will start to get recognized. What I did to get this done was temporarily exclude these pages that reference the BE controls. The pages referencing these controls can be found in Visual Studio’s error list when you try to build the project. I excluded the entire Widgets folder, the entire themes folder, the post.aspx file, the error404.aspx file, the default.aspx file and the apiTagMiniView.aspx file.
17. Build the solution. Should get no errors.
18. Add those temporarily excluded items back into the project from two steps ago.
19. Select the top node in Solution Explorer, ‘BeWap’ (right under Solution ‘BeWap’). Right-click and select ‘Convert to Web Application’. The pages we re-included back into the project should now all have designer.cs files.
20. Build the solution. Should get no errors.
21. Run the solution. Everything should work.
Filed under: Tech Blurb Tagged: | ASP.Net, BlogEngine.Net

Hey thanks for publishing this, it saved me a ton of time.
Are your extensions are still working?
Hi its a good post . But I am having a problem in extensions. Then I tried to change the Old_App_Code to App_Code but its giving me the error The type ‘ExtensionManager’ exists in both ‘c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\nuqta-e-nazar\a98cceb7\b62ec585\assembly\dl3\9b83e8fa\2cc29650_dcc8c901\WAPP_Nuqta-e-Nazar.DLL’ and ‘c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\nuqta-e-nazar\a98cceb7\b62ec585\App_Code.1yitbbas.dll’
Can somebody help me
In order to make the extensions work again you must change one line in the BlogEngine.Core project Utils.cs file.
Locate this line:
//string assemblyName = “__code”;
and change it to:
//string assemblyName = “ASSEMBLYNAME”;
Following the original post example it could be BEWAP.
Then, in order for the application to show the contents of the extensions you need to make a change in the Editor.aspx.cs file
Change the line:
fileName += assemblyName + “\\Extensions\\” + _extensionName + fileExt;
into:
fileName += “\\old_App_Code\\Extensions\\” + _extensionName + fileExt;
where old_app_code is the folder where the classes are located now. According to the example. They can actually be anywhere.
Hope it helps
Forgot this:
1. Remove the \\ in front of the old_app_code
2. Remove the // comments in the first 2 lines.
That’s it. Sorry about that. I’m sleepy
Johnny, thank you so much for your comment. I had figured everything out on my own, but could not figure out why my comment emails were not being sent.
You saved me hours of digging.
Hey, You’re welcome! Glad it worked out.
Cheers!
I
Hello,
Your post has been really helpful in the past as it did the job nicely for BlogEngine v1.6 but now that v2.0 is out can you give us a new post that gets around their updates please?
It seems like they’ve used partial classes with methods in different physical places but are now put under the same namespace with the same class names. Hope you can help us out.
Many thanks!
Hi,
You might want to check this link on Codeplex regarding your question:
http://blogengine.codeplex.com/wikipage?title=Convert%20to%20Web%20Application&referringTitle=Documentation
Hello,
A quick update. You can also check my blog post on converting BlogEngine.NET 2.0 to WAP in http://www.jnouel.net/post/2011/04/15/Converting-BlogEngineNET-20-to-Web-Application-Project-%28WAP%29.aspx
There you will see some issues I found in the process.
Hope it helps.
In fact, what a fantastic site and informative posts, I’ll add backlink by bookmarking this site. Regards, your reader
I did a lot of research on this, finally I got something of my interest. Some of the points are very well discussed, either way it was a well thoughtout and nice read.
a bit off-topic, do you utilize a free of charge skin inside your site? i liked it.
I would like to thank you for the efforts you have put in writing this blog. I am hoping the same high-grade blog post from you in the future as well.
http://www.howtogetridofacoldsorex.com
cu acest articol sunt sigur ca ai ajutat multa lume inclusiv pe mine asa ca mersi
This post was very helpful in figuring out how to apply a similar set of steps to BlogEngine.NET 2.5. Ultimately I ran into additional issues that I blogged about here: http://www.richonsoftware.com/post/2012/02/26/Converting-BlogEngineNET-25-to-a-Web-Application.aspx Again thanks for the great post!
Thanks for taking the time to share this, I feel strongly about it and love learning more on this topic.
I think this is one of the most important info for me. And i’m glad reading your article. But wanna remark on some general things, The website style is perfect, the articles is really nice : D. Good job, cheers