Web Application Projects Overview
The Web application project type is an alternative to the Web site project type, which is the default project type in Visual Studio 2005.
This topic contains:
The Web application projects model was designed to provide developers with a project model that more closely resembles the project model for Visual Studio .NET 2003 applications and still makes available all the new features of Visual Studio 2005 and of ASP.NET version 2.0. The new Web application project type does not replace the Web site project type introduced in Visual Studio 2005. Instead, it is an alternative project type that you might choose depending on your requirements and your preferred development workflow.
Visual Web Developer Express Edition does not support Web application projects.
Only files that are referenced in the solution of a Web application project are part of the project. These files are also displayed in Solution Explorer and are compiled during a build. Because there is a project file, some scenarios are more easily enabled. For instance, you can subdivide one ASP.NET application into multiple Visual Studio projects. Also, you can easily exclude files from the project and from source code.
Alternatively, Web site projects use the folder structure to define the contents of the project. There is no project file in this model and all files in the folder are part of the project.
Use Web application projects when you need to do the following:
Migrate large Visual Studio .NET 2003 applications to Visual Studio 2005.
Control the names of output assemblies.
Use stand-alone classes to reference page- and user-control classes.
Build a Web application by using multiple Web projects.
Add pre-build and post-build steps during compilation.
The new Web application project model provides the same Web project semantics as Visual Studio .NET 2003 Web projects. This includes a structure based on project files and a build model based on a single assembly. In addition, the new project type supports all the new features of Visual Studio 2005 (such as class diagrams, test development, and generics) and of ASP.NET 2.0 (such as master pages, data controls, membership and login, role management, Web Parts, personalization, site navigation, and themes).
The Web application project model in Visual Studio 2005 removes the following two requirements from Visual Studio .NET 2003:
Using FrontPage Server Extensions from Microsoft. These are no longer required, but they are supported if your site already uses them.
Using a local copy of IIS. The new project model supports both IIS and the built-in Visual Studio Development Server.
Installing Web Application Projects
Adding Web application projects to Visual Studio 2005 requires you to install Visual Studio 2005 Service Pack 1 (SP1). Visual Studio 2005 SP1 includes changes to Visual Studio 2005 that enable the Visual Studio Conversion Wizard and the designer to correctly process Web application projects. You can download Visual Studio 2005 SP1 on the Microsoft Visual Studio Related Service Packs and Fixes Web site.
Compilation and Build Outputs
The compilation model for Web application projects resembles the Visual Studio .NET 2003 compilation model. All code files (stand-alone, code-behind, and designer class files) in the project are precompiled into a single assembly that is built and persisted by default in the Bin folder. Because this compilation model creates a single assembly, you can specify attributes, such as assembly name and version, and the location of the output assembly. For more information, see.
Because all class files are compiled into a single assembly, only that assembly needs to be deployed, along with the .aspx and .ascx files and other static content files.
In this model, .aspx files are not compiled until they are run in the browser. However, when used with Web Deployment Projects, the .aspx files can also be compiled and included in a single assembly for deployment.
Each time you deploy the single assembly produced in this model, you replace the code for all pages in the project. For more information, see.
Upgrade from Visual Studio .NET 2003
The similarities between the Web application project model in Visual Studio 2005 and the Web site model in Visual Studio .NET 2003 simplify the upgrade process and minimize any restructuring of the application. For most scenarios, it is preferable to upgrade existing Visual Studio .NET 2003 projects to Web application projects in Visual Studio 2005. For more information, see.