Jul 12, 2011 at 3:01 AM
Edited Jul 12, 2011 at 3:05 AM
I just want to make you aware of a few things before we go forward with the publish.
The reason why blogEngine.Net is built to function as web-ready files (not compiled) is for extensions, widgets, and themes to be added via the gallery or by your own drag and drop facilities. If the website is compiled you no longer have access to add files
to the App_Code or able to drop in new uncompiled code.
This will bring you at a severe disadvantage everytime you wish to test out a theme, extension or widget as you will have to completley recompile your site and publish it back to your application. Now that being said here is the process if you still wish
to recompile the site on your own.
The site **doesnt have** to have strongly named assemblies, and by disabling this you can get past the strongly named assemblies issue. Additionally you probably dont want to recompile NuGet with your own strongly named key, this will really hurt your upgrade
path. I have tested the process .
- Right click the website in visual studio and select publish
- Allow this pre-compiled site to be updated
- Enable strong naming on pre-compiled assemblies
- Use fixed naming and single page assemblies (this is required as all pages are in fact their own assemblies)
- Publish to a local drive first outside the regular drive ie. D:\BlogEnginePublish
To test your publish you can open another copy of visual studio (if you dont have IIS installed) and just go File -> Open Website -> Select your new compiled site and hit run (ignoring the warning about modifying the website). It should run as normal
here, that lets you at least locally test the site before commiting it to your FTP. Next either re-publish via ftp, or manually push the contents over to your FTP server.
I don't really recommend this as features such as the Widget & Theme gallery will throw your Blog into complete disarray as these are all non-compiled source.
Some of the errors you can get very easily by using a compiled site.
The file '/themes/<theme>/site.master' has not been pre-compiled, and cannot be requested.
The directory '/App_Code/' is not allowed because the application is precompiled.