There are two categories of ASP.Net deployment:
- Local deployment – in this case the entire application is contained within a virtual directory and all the contents and assemblies are contained within it and available to the application.
- Global deployment – in this case, assemblies are available to every application running on the server.
There are different techniques used for deployment, however, we will discuss the following most common and easiest ways of deployment:
- XCOPY deployment
- Copying a Website
- Creating a set up project
XCOPY deployment means making recursive copies of all the files to the target folder on the target machine. You can use any of the commonly used techniques:
- FTP transfer
- Using Server Management tools providing replication on a remote site
- MSI installer application
XCOPY deployment simply copies the application file to the production server and set a virtual directory there. You need to set a virtual directory using the Internet Information Manager Microsoft Management Consol (MMC snap-in).
Copying a Website:
The Copy Web Site option is available in Visual Studio. It is available from the Website –> Copy Web Site menu option. This menu items allows copying the current web site to another local or remote location. It is a sort of integrated FTP tool.
Using this option, you connect to the target destination, select the desired copy mode:
- Source to Target Files
- Sync UP Source And Target Projects
Then proceed with copying the files physically. Unlike the XCOPY deployment, this process of deployment is done from Visual Studio environment. However, there are the following problems with both the above deployment methods:
- You pass on your source code
- There is no pre-compilation and related error checking for the files
- The initail page load will be slow
Creating a Setup Project:
In this method you use Windows Installer and package your web applications so it is ready to deploy on the production server. Visual Studio allows you to build deployment packages. Let us test this on one of our existing project, say the data binding project.
Open the project and take the following steps:
Step (1): Select File -> Add-> New Project with the website root directory highlighted in the Solution Explorer.
Step (2): Select Setup and Deployement, under Other Project Types. Select Setup Wizard.
Step (3): Choosing the default location ensures that the set up project will be located in its own folder under the root directory of the site. Click on okay to get the first splash screen of the wizard.
Step (4): The second screen asks to choose a project type. Select ‘Create a setup for a web application’.
Step (5): Next, the third screen asks to choose project outputs from all the projects in the solution. Check the check box next to ‘Content Files from…’
Step (6): The fourth screen allows including other files like ReadMe. However, in our case there is no such file. Click on finish.
Step (7): The final screen displays a summary of settings for the set up project.
Step (8): The Set up project is added to the Solution Explorer and the main design window shows a file system editor
Step (9): Next step is to build the setup project. Right–click on the project name in the Solution Explorer and select Build.
Step (10): When build is completed, you get the following message in the Output window:
Two files are created by the build process:
You need to copy these files to the server and double-clicking the setup file will cause the content of the .msi file to be installed on the local machine.