Web Deployment Content Map for Visual Studio and ASP.NET

This topic provides links to documentation resources about how to deploy (publish) ASP.NET web applications to IIS by using the following versions of Visual Studio:

  • Visual Studio 2012

  • Visual Studio Express 2012 for Web

  • Visual Studio 2010

  • Visual Web Developer 2010 Express

Note

Make sure that you have installed the latest release of the Visual Studio Web Publish Update. In earlier releases, some deployment features work only with web application projects. In the current release, the deployment tools also work with web site projects. For information about how to deploy web site projects when you are using earlier releases of the deployment tools, see the ASP.NET 4 version of this page.

This topic contains the following sections:

  • Deployment for Visual Studio Web Projects (Including MVC and WebAPI)

  • Additional Resources

Deployment for Visual Studio Web Projects (Including MVC and WebAPI)

Scenario

Topics

Understanding deployment options for web projects

Web Deployment Overview for Visual Studio and ASP.NET

Visual Studio 2012 Web Publishing Improvements (ASP.NET site video, by Scott Hanselman. Produced before deployment features were extended to web site projects.)

Overview Post for Web Deployment in VS 2010 (Vishal Joshi's blog. Some of the Visual Studio 2010 resources it links to have information that is still relevant for Visual Studio 2012.)

Finding hosting providers for an ASP.NET application

ASP.NET Hosting

Deploying a web application from Visual Studio

How to: Deploy a Web Project Using One-Click Publish in Visual Studio

Deployment to a Hosting Provider (ASP.NET web site. A 12-part tutorial series with detailed instructions for a deployment scenario that includes multiple SQL Server Compact databases and covers migration to SQL Server.)

Deploying an ASP.NET Web Application to a Windows Azure Web Site and SQL Database (windowsazure.com site)

Deploying an ASP.NET Web Application to a Windows Azure Cloud Service and SQL Database (windowsazure.com site)

Hosting an ASP.NET Web Forms Application on Windows Azure

Hosting an ASP.NET MVC Application on Windows Azure

Deploying a web application by creating and installing a web deployment package

How to: Create a Web Deployment Package in Visual Studio (How to create a deployment package from the Visual Studio IDE.)

How to: Install a Deployment Package Using the deploy.cmd File Created by Visual Studio

Using a Web Deploy package to deploy to IIS on the dev box and to a third party host (Sayed Hashimi's blog. How to use IIS Manager to install a deployment package in IIS on the local computer and at a hosting company that supports IIS Manager for Remote Administration.)

Building a Web Deploy Package From Visual Studio 2010 (IIS.NET web site. Includes instructions for command-line package creation and installation.)

Package Once Publish Anywhere (Sayed Hashimi's blog. Introduces a NuGet package that automates the process of transforming the Web.config file for multiple destination environments, so that you can deploy one package to multiple servers.)

See also the following scenario.

Deploying a web application in an enterprise environment, using a continuous integration (CI) process

Deploying Web Applications in Enterprise Scenarios (ASP.NET Site. A series of 40 tutorials that explain how to automate deployment in a CI process using Visual Studio 2010 and Team Foundation Server 2010).

Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build, by Sayed Hashimi and William Bartholomew (This is a book, not a web resource, but it is an essential guide for learning how to configure MSBuild for continuous integration scenarios.)

MSBuild Extension Pack (CodePlex site. Includes deployment tasks.)

Team Foundation Build Customization Guide (CodePlex Site. Documentation by ALM Rangers on setting up Team Foundation Server covers web deployment and includes tutorials and videos.)

Continuous Delivery for Cloud Applications in Windows Azure (windowsazure.com site)

Announcing Continuous Deployment to Azure with Team Foundation Service (Brian Harry's blog)

SlowCheetah XML transforms from a CI server (Sayed Hashimi's blog. Explains how to use SlowCheetah, A Visual Studio add-in for transforming app.config and other XML files.)

How to take your app offline during publishing (Sayed Hashimi's blog. Shows how to automate the process of taking an application offline. See also the scenario Making sure an application is off-line during deployment.)

Using Web.config transformations to change settings in the destination Web.config file or app.config file during deployment

Web.config File Transformations (ASP.NET site)

Web.config Transformation Syntax for Web Project Deployment Using Visual Studio

Profile specific web.config transforms and transform preview (Sayed Hashimi's blog. Demonstrates the Web.config transformation preview feature.)

See also How do I disable Web.config transformation? and When should I use Web Deploy parameters instead of Web.config transformations? in Web Deployment FAQ for Visual Studio and ASP.NET.

Using Web Deploy parameters to change settings in the destination web application during deployment

How to: Use Web Deploy Parameters in a Web Deployment Package

Web Deploy Parameterization (IIS.NET web site)

Web Deploy Parameterization in Action (Vishal Joshi's blog)

Web Deploy Parameterization vs. Web.config Transformation (Vishal Joshi's blog)

Making sure an application is off-line during deployment

Deployment to a Hosting Provider: Deploying a Code-Only Update (ASP.NET site. See the section Preventing User Access to the Production Site During Update)

Taking an Application Offline before Publishing (IIS.net site. Explains a feature built into Web Deploy 3.0 that automates handling of an app_offline.html file.)

Deploying a database or changes to a database as part of web application deployment

Configuring Database Deployment in Visual Studio

How to: Deploy a Web Project Using One-Click Publish in Visual Studio

Deployment to a Hosting Provider (ASP.NET web site. A 12-part tutorial series with detailed instructions for a deployment scenario that includes multiple SQL Server Compact databases and covers migration to SQL Server.)

See also the Deploying a web application by creating and installing a web deployment package and Deploying a web application in an enterprise environment, using a continuous integration (CI) process scenarios.

Deploying a database separately from web application deployment

SQL Server Data Tools

Including Data in a SQL Server Database Project (SQL Server Data Tools team blog. How to deploy both schema and data when deploying a database.)

How to Deploy a Database to Windows Azure (WindowsAzure.com site)

Migrating Databases to Windows Azure SQL Database (formerly SQL Azure)

Migrating a Database to SQL Azure using SSDT (SQL Server Data Tools team blog)

Deploying a web application that uses ASP.NET application services such as membership and profiling

Configuring a Website that Uses Application Services (ASP.NET web site. This tutorial is for web site projects but contains information that is useful also for web application projects.)

Users and Roles On The Production Website (ASP.NET web site. This tutorial is for web site projects but contains information that is useful also for web application projects.)

Precompiling for deployment

ASP.NET Web Application Project Precompilation Overview

Package/Publish Web Tab, Project Properties

Advanced Precompile Settings Dialog Box

Deploying an intranet web application

How to Create an Intranet Site Using ASP.NET MVC

Automating common deployment tasks that are not automated out of the box

Setting Folder Permissions on Web Publish (Sayed Hashimi's blog)

How to extend the targets file to include registry settings for a web project package (Web Development Tools blog)

Extending XML (Web.config) transformation (Sayed Hashimi's blog. Shows how to create custom XDT transforms.)

Web Deployment Tool (MSDeploy) Custom Provider Take 1 (Sayed Hashimi's blog. Shows how to create a Web Deploy custom provider.)

How to package and deploy COM components(Web Development Tools blog)

How to package .NET assemblies (Web Development Tools blog. How to deploy assemblies to the GAC.)

Script Out Everything - Initialize Your Windows Azure VM for Your Web Server with IIS, Web Deploy and Other Stuff (Tugberk Ugurlu’s blog)

Configuring web servers so that developers can deploy web applications to them using Web Deploy

Installing and Configuring Web Deploy for Administrator and non-administrator Deployments

Configuring servers for a hosting provider

Microsoft ASP.NET 4 Hosting Deployment Guide (Microsoft Download Center)

Generate a Profile XML File (IIS.net web site)

Troubleshooting deployment problems

Deployment to a Hosting Provider: Troubleshooting (ASP.NET web site)

Troubleshooting Common Problems With Web Deploy (IIS.NET web site)

Web Deploy Error Codes

Web Deployment FAQ for Visual Studio and ASP.NET

Core Differences Between IIS and the ASP.NET Development Server (ASP.NET web site)

Common Configuration Differences Between Development and Production (ASP.NET web site)

Hosting ASP.NET Applications in Medium Trust (4 Guys from Rolla site)

Getting help with a specific deployment question

ASP.NET Configuration and Deployment forum (ASP.NET site. A forum for questions related to ASP.NET deployment.)

Additional Resources

This section provides links to additional resources that are useful for learning more about how to use Visual Studio and IIS deployment tools.

The following resources provide documentation about Web Deploy, the IIS framework that Visual Studio uses to perform web application project deployment tasks. You can ask specific questions about Web Deploy in the Web Deployment Tool forum on the IIS.net web site.

The following resources are blogs by members of the team that is responsible for Web Deploy.

The following resources are blogs by members of the team that is responsible for Visual Studio deployment.

A number of tutorials that relate to hosting options, web site project deployment, database deployment, precompilation, and site administration are on the Deployment Tutorials page on the ASP.NET web site.

The following resources are from the Visual Studio Lab Management blog: