I got some time to update my blog instance to the latest version (2.5) of BlogEngine.NET.
As I've modified one or two things I build it from source.
First step was to upgrade my cheap IIS 7.0 hosting from GoDaddy to 4GH to get .NET 4.0 support.
Followed their instructions [1], but apparently something went wrong. Quickly solved this with a support ticket(after the upgrade the site seems to load faster).
Then from GoDaddy’s web management interface went to the IIS configuration and set the ASP.Net Runtime Version to 4.0.
The thing when building from source(I’m using Visual Studio 2010 Web Developer Express Edition) is that BlogEngine needs six DLL files for Razor support:
· Microsoft.Web.Infrastructure.dll
· System.Web.Helpers.dll
· System.Web.Razor.dll
· System.Web.WebPages.Deployment.dll
· System.Web.WebPages.dll
· System.Web.WebPages.Razor.dll
Usually these files are into the folder where you extracted the source code, the path being \lib\razor.
On my system, the assembly references are included into the GAC. So even if I set copy local to true for them into the project references section, they will not be copied into the Bin folder. [2]
The reason these assembly dependencies need to be deployed with the application is that with GoDaddy’s shared hosting(in my case) upon starting, BlogEngine will fail to load them as they will not be found.
Do note that these DLL files are included into the Bin folder with the web version of BlogEngine.
Only if you build from source you might endup with them not being there so you will have to manully add them there.
References:
[1] http://help.godaddy.com/article/6190
[2] http://msdn.microsoft.com/en-us/library/ez524kew(VS.80).aspx