I've built a web site several times using the default "allow this precompiled site to be updatable" however on the most recent compile the website was very broken. After playing around with the .dll's (deleting and replacing them, in the bin) I noticed certain parts of the website starting to work again, but if I put all of the original .dll's in the site was broken.
I'm using aspx pages with several Ajax web extensions. These were added recently and may be the source of the problem. I unchecked the "Allow this precompiled site to be updatable" and it added all kinds of extra compiled code files to the bin, and all the problems with the website went away... what's going on here? What was the difference?
There doesn't seem to be any difference in the way I update the site either, just a straight publish from Visual Studio each time.
Any insights would be appreciated.
Unchecking the "Allow this precompiled site to be updatable" compiles the .Aspx Pages, not just the code files (.VB/.CS). Leaving it checked allows you to make certain changes to the .Aspx files after it has been deployed without recompiling (ex = move the position of a control or add some additional HTML markup).
After reading your description of the deployment issues it seems more likely that the errors are because IIS needs the App Pool refreshed. On a low end VPS, sometimes it just makes sense to bounce (restart) it if you have that luxury.
Read the following MSDN articles for more information on Site Precompilation.