There was a post already about them, but I failed on about every question on the exam where they were involved. So this one will be a quick repost of the old facts.
A Web Application Project is very similar to a traditional desktop project. You can control references in a specialized folder, have an AssemblyInfo.cs and a project file for controlling which files belong to the project explicitly (the Web Site model does this implicitly: what’s in the folder is in the project). Also, it provides backward-compatibility, since it was the default project type for web pages in VS 2003.
You’d like to use Web Application Projects when:
- You are migrating from VS 2003.
- Need to control the names of the output assemblies.
- Need stand-alone assemblies to reference page and user control classes.
- Need a Web Application using multiple Web Projects.
- Need to add custom steps during compilation.
And in the following scenarios, you’d use the Web Site model: