Quickstart: First look at deployment in Visual Studio

By deploying an application, service, or component, you distribute it for installation on other computers, devices, servers, or in the cloud. You choose the appropriate method in Visual Studio for the type of deployment that you need. (Many app types support other deployment tools such as command line deployment or NuGet that are not described here.)

See the Tutorials for step-by-step deployment instructions. If you are deploying a web application and need more in-depth information to decide on the best deployment option from Visual Studio, see What publishing options are right for me?.

Deploy to local folder

Deployment to a local folder is typically used for testing or to begin a staged deployment in which another tool will be used for final deployment.

  • ASP.NET, ASP.NET Core, Node.js, Python, and .NET Core: Use the Publish tool to deploy to a local folder. The exact options available depend on your app type. In Solution Explorer, right-click your project and choose Publish. (If you have previously configured any publishing profiles, you must then click Create new profile.) Next, choose Folder. For more information, see Deploy to a local folder.

    Choose Publish

  • Visual C++ runtime: You can deploy the Visual C++ runtime using local deployment or static linking. For more information, see Deploying Native Desktop Applications (Visual C++).

Publish to Azure

  • ASP.NET, ASP.NET Core, Python, and Node.js: You can use the Publish tool to quickly deploy apps to Azure App Service or to an Azure Virtual Machine. In Solution Explorer, right-click the project and choose Publish. (If you have previously configured any publishing profiles, you must then click Create new profile.) In the Publish dialog box, choose either App Service or Azure Virtual Machines, and then follow the configuration steps.

    Choose Azure App Service

    In Visual Studio 2017 version 15.7, you can deploy ASP.NET Core apps to App Service for Linux.

    For information on importing a publish profile from Azure App Service to Visual Studio, see Import publish settings and deploy to Azure.

    For a quick introduction, see Publish to Azure. Also, see Publish an ASP.NET Core app to Azure. For deployment using Git, see Continuous deployment of ASP.NET Core to Azure with Git.

    Note

    If you do not already have an Azure account, you can sign up here.

Publish to Web or deploy to network share

  • ASP.NET, ASP.NET Core, Node.js, and Python: You can use the Publish tool to deploy to a website using FTP or Web Deploy. For more information, see Deploy to a web site.

    In Solution Explorer, right-click the project and choose Publish. (If you have previously configured any publishing profiles, you must then click Create new profile.) In the Publish tool, choose the option you want and follow the configuration steps.

    Choose IIS, FTP, etc.

    For information on importing a publish profile in Visual Studio, see Import publish settings and deploy to IIS.

    You can also deploy ASP.NET applications and services in a number of other ways. For more information, see Deploying ASP.NET web applications and services.

  • Visual C++ runtime: You can deploy the Visual C++ runtime using central deployment. For more information, see Deploying Native Desktop Applications (Visual C++).

  • Windows desktop You can publish a Windows desktop application to a web server or a network file share using ClickOnce deployment. Users can then install the application with a single click. For more information, see Deploy a desktop app using ClickOnce and Deploy a native app using ClickOnce.

Publish to Microsoft Store

From Visual Studio, you can create app packages for deployment to Microsoft Store.

Deploy to a device (UWP)

If you are deploying a UWP app for testing on a device, see Run UWP apps on a remote machine in Visual Studio.

Create an Installer package (Windows client)

If you require more a complex installation of a desktop application than ClickOnce can provide, you can create an installer package, a setup project, or a custom bootstrapper.

Deploy to test lab

You can enable more sophisticated development and testing by deploying your applications into virtual environments. For more information, see Test on a lab environment.

DevOps deployment

In a team environment, you can use Visual Studio Team Services (VSTS) to enable continuous deployment of your app. For more information, see Build and Release and Deploy to Azure.

Deployment for other app types

App type Deployment Scenario Link
Office app You can publish an add-in for Office from Visual Studio. Deploy and publish your Office add-in
WCF or OData service Other applications can use WCF RIA services that you deploy to a web server. Developing and deploying WCF Data Services
LightSwitch LightSwitch is no longer supported in Visual Studio 2017, but can still be deployed from Visual Studio 2015 and earlier. Deploying LightSwitch Applications

Next steps

In this tutorial, you took a quick look at deployment options for different applications. If you are deploying a web application such as ASP.NET, read more in-depth about some of the deployment options available in Visual Studio.