First look at deployment in Visual Studio
By deploying an application, service, or component, you distribute it for installation on other computers, devices, or 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 that are not described here.)
See the Quickstarts and Tutorials for step-by-step deployment instructions. For an overview of deployment options, 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 is 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 not previously configured any publishing profiles, you must then click Create new profile.) Next, choose Folder. For more information, see Deploy to a local folder.
Windows desktop You can publish a Windows desktop application to a folder using ClickOnce deployment. Users can then install the application with a single click. For more information, see Deploy a desktop app using ClickOnce (C# and Visual Basic). For C++/CLI, see Deploy a native app using ClickOnce or, for C/C++, see Deploy a native app using a Setup project.
Publish to Azure
ASP.NET, ASP.NET Core, Python, and Node.js: Publish to Azure App Service or Azure App Service Linux (using containers) using one of the following methods.
For continuous (or automated) deployment of apps, use Azure DevOps with Azure Pipelines.
For one-time (or manual) deployment of apps, use the Publish tool in Visual Studio.
For deployment that provides more customized configuration of the server, you can also use the Publish tool to deploy apps to an Azure Virtual Machine.
To use the Publish tool, right-click the project in Solution Explorer 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.
Starting in Visual Studio 2017 version 15.7, you can deploy ASP.NET Core apps to App Service for Linux.
For Python apps, also see Python - Publishing to Azure App Service.
For a quick introduction, see Publish to Azure and Publish to Linux. 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.
For information on importing a publish profile from Azure App Service to Visual Studio, see Import publish settings and deploy to Azure.
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.
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.
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 (C# and Visual Basic). For C++/CLI, see Deploy a native app using ClickOnce or, for C/C++, see Deploy a native app using a Setup project.
Publish to Microsoft Store
From Visual Studio, you can create app packages for deployment to Microsoft Store.
UWP: You can package your app and deploy it using menu items. For more information, see Package a UWP app by using Visual Studio.
Windows desktop: You can deploy to the Microsoft Store starting in Visual Studio 2017 version 15.4. To do this, start by creating a Windows Application Packaging Project. For more information, see Package a desktop app for Microsoft Store.
Deploy .NET packages to NuGet.org
To deploy bundled code into "packages" that contain compiled code (as DLLs) along with other content needed in the projects that consume these packages, you can use Visual Studio to create the NuGet package and a CLI tool to issue the final deployment command.
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 desktop)
If you require more a complex installation of a desktop application than ClickOnce can provide, you can create a Windows Installer package (MSI or EXE installation file) or a custom bootstrapper.
An MSI-based installer package can be created using the WiX Toolset Extension. This is a command-line toolset.
For Visual Studio 2019, get the WiX Toolset Visual Studio 2019 Extension.
An MSI or EXE installer package can be created using InstallShield from Flexera Software. InstallShield may be used with Visual Studio 2017 and later versions (Community Edition not supported). Note that InstallShield Limited Edition is no longer included with Visual Studio and is not supported in Visual Studio 2017 and later versions; check with Flexera Software about future availability.
An MSI or EXE installer package can be created using a Setup project (vdproj). To use this option, install the Visual Studio Installer Projects extension.
You can also install prerequisite components for desktop applications by configuring a generic installer, which is known as a bootstrapper. For more information, see Application Deployment Prerequisites.
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.
Deploy a SQL database
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 starting in Visual Studio 2017, but can still be deployed from Visual Studio 2015 and earlier.||Deploying LightSwitch Applications|
In this tutorial, you took a quick look at deployment options for different applications.