16.5. Creating Web Deployment Projects
Many of the problems that arise when deploying an application stem from differences between the development environment and the production environment. The deployed application may need to use a different database back end. Directory permissions may be different between the test and production systems. Web service calls may need to be redirected to a live server instead of test infrastructure. To help with these problems, there is an add-in available for Visual Web Developer for a project type focused on the deployment process itself, called a Web Setup project.
The Web Deployment project leverages the aspnet_merge tool. This tool can take the individual DLLs of a precompiled Web application and combine them into a single DLL. With default settings, aspnet_merge will compile the entire application, including code from the App_Code directory as well as the generated code from the .aspx pages, and combine them into a single DLL for deployment. This not only simplifies the job of deployment but also minimizes the overhead time that would happen to compile specific pages on demand. There will still be a JIT (just-in-time) compilation needed at runtime to covert the IL code to native code. aspnet_merge and the Web Deployment project are not a replacement for the native code generation services provided by the CLR (Common Language Runtime). The main complication that results from using aspnet_merge is ...