Reputation: 4108
I've just started using a cms (N2) which has a template basic implementation using a web site project template in vs2008. I've noticed that when compiling it it takes a lot longer than using a web application project which I am more use to.
My questions are:
I apologise if this is a duplicate but I couldn't find a similar question.
Cheers
Upvotes: 9
Views: 1492
Reputation: 11
My preference is to use Website project over web application. I mainly rely on "View in Browser" to execute the page during development and not f5. I can leave the browser window open and modify code without closing the runtime browser. Usually if I need to debug I attach the IDE to the appropriate process. In my experience it much more efficient to do it this way instead of compile and restarting the app everytime I have to compile or make changes. This is magnified even more if the app has a login page. Need for logging in is avoided everytime F5 is pressed - granted there are ways to set it up. But preference is not to.
Upvotes: 1
Reputation: 32371
The Major differences are:
In a Web Application project everything is pre-compiled all the codebehind pages will be compiled into a .dll ---- In a Web Site Project nothing in the project is pre-compiled, the compiler will compile everything to ensure it is valid but none of the compiled pages are uploaded. When a user first attempts to access the site each page is compiled into its own dll. This means in a Web Site Project you are able to upload a single codebehind file.
Namespaces - In a Web Application project namespaces are created by default in a Web Site Project they are not.
Project files - A Website Project does not have a "cproj" file a Web Application project does.
Converting to a Web Application project can be more difficult then you think especially if you rely heavily the appcode folder.
I personally prefer a Web Application projects I find them easier to use and less annoying to deploy. I would personally only use web site project on something very small and simple.
Extra reading from MSDN
Upvotes: 10
Reputation: 15243
In addition to the info provided by Chris, you should also note that for Web Application Projects, Profiles are not available out of the box:
http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx
There is a workaround available here: http://code.msdn.microsoft.com/WebProfileBuilder
Basically, the Web Application Project does not have the Profile object automatically added to each page as with the Web Site project, so we cannot get strongly-typed programmatic access to the profile properties defined in our web.config file.
Anthony :-)
Upvotes: 1