How to precompile a Web Application project?

Earlz picture Earlz · Aug 28, 2010 · Viewed 8.7k times · Source

I've heard recently that you can precompile Web Application projects. My question is how?

Right now, when I do a publish for my web application and select only files needed to run this application I get it published but it still has all my ASPX pages and it will still only JIT compile the pages. How do I make it so that all of the ASPX pages are precompiled before putting them on the server?

Answer

David Hoerster picture David Hoerster · Aug 28, 2010

You can download a project template called a Web Deployment Project (WDP) (VS2008 version here), which enhances the build and deployment features of Visual Studio. This basically wraps features of aspnet_compile.exe, but allows you to do this visually as part of your overall solution.

Besides pre-compilation, it also allows you do a number of interesting things, like config file replacement (great for deploying to different environments) and setting how your assemblies are built (per-page, per-site, etc.).

Two good Scott Guthrie blogs about this project type:

I've used this project type for some VS2005 and VS2008 projects and it's invaluable (especially for those legacy web site projects!!).

I didn't know this was also in the MSDN library, but here's a nice article in MSDN for WDP's.

I hope this helps!

EDIT: WDP's exist for VS2005 and VS2010 also.