I maintain an ASP.Net application, and I recently had to add a couple of new features. Development started with .Net 1.1, then 2.0, then 4.0. Since we were already on .Net 4, the new features are implemented in MVC3.
Everything worked fine until I wanted to deploy the ASP.Net-plus-MVC application.
I hit Publish, zipped the result, and unzip everything into its usual directory.
The file ‘/somepage.aspx’ has not been pre-compiled, and cannot be requested.
Die Datei /somepage.aspx wurde nicht vorkompiliert und kann nicht angefordert werden.
I asked the internetz, and they suggested checking referenced assemblies. So I installed the MVC3 setup (on IIS8), just in case. But that did not resolve my problem.
While browsing thru tons of useless (and sometimes wrong) tips and tricks, I found this answer on SO:
I got this error when I upgraded a site from 2.0 to 4.0. The error was caused by a file
PrecompiledApp.configin the site’s
rootdirectory. Once I deleted that file, the site started working.
Then it struck me: I had deployed the previous version of the web application using my build process which also compiles (and merges) .aspx files.
I have not yet found the time to adapt this build process to also support MVC projects (or test it whether it already does!), so I deployed what Publish produces. And this is not pre-compiled pages.
So when I overwrote the old version with the new version, the file PrecompiledApp.config remained.
After deleting the file, the web application started up again.