This posts covers how to best optimize the build performance with Visual Studio 2005 when using web projects.If you are experiencing slow builds or want to learn how to speed them up please read on.If you don't have an /app_code directory, or only have a few files defined within it, the page designer will be able to load much quicker (since it doesn't need to perform a big compilation first).
Asp net validating web site slow
So does this mean that you should always use the VS 2005 Web Application Project option to get the fastest build times with large projects? One nice feature that you can enable with the VS 2005 Web Site Project option is support for doing "on demand compilation".
This avoids you having to always re-build an entire project when dependent changes are made -- instead you can just re-build those pages you are working on and do it on-demand.
From a feature perspective there is no "one best option" to use - it really depends on your personal preferences and team dynamics as to which will work best for you.
For example: a lot of enterprise developers love the VS 2005 Web Application option because it provides a lot more build control and team integration support, while a lot of web developers love the VS 2005 Web Site model because of its "just hit save" dynamic model and flexibility.
Quick Background on VS 2005 Web Site Project and VS 2005 Web Application Project options VS 2005 supports two project-model options: VS 2005 Web Site Projects and VS 2005 Web Application Projects.
VS 2005 Web Site Projects were built-in with the initial VS 2005 release, and provide a project-less based model for doing web development that uses that same dynamic compilation system that ASP. VS 2005 Web Application Projects were released as a fully supported download earlier this spring, and provide a project model that uses a MSBuild based build system that compiles all code in a project into a single assembly (similar to VS 2003 -- but without many of the limitations that VS 2003 web projects had with regard to Front Page Server Extensions, IIS dependencies, and other issues).
What this means (when you select the "Build Page" option in the dialog above) is that when you edit a page and then hit F5 (run with debugging) or Ctrl-F5 (run without debugging) the solution will compile all of the class library projects like before, then compile the /app_code directory and file, and then instead of re-verifying all pages within the web-site it will only verify the current page you are working on, and any user controls that the page references.
With large (and even medium) projects with lots of pages, this can obviously lead to major performance wins. NET will automatically re-compile any other page or control you access at runtime -- so you will always have an up-to-date and current running application (you don't need to worry about old code running).
The main reason is that (like VS 2003), the VS 2005 Web Application Project option only compiles your page's code-behind code and other classes within your project.
It analyze or compile the content/controls/in-line code within your pages -- which means it does not need to parse those files.
I describe how to both detect and fix this condition in this blog post.