Publish an ASP.NET Core app to App Service on Linux using Visual Studio

Starting in Visual Studio 2017 version 15.7, you can publish ASP.NET Core apps to 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 to publish ASP.NET Core apps to App Service for Linux (using containers).

This article describes how to use the Publish tool for one-time deployment.


  • Visual Studio 2019 installed with the appropriate workloads for your language of choice:
    • ASP.NET: ASP.NET and web development
  • Visual Studio 2017 installed with the appropriate workloads for your language of choice:
    • ASP.NET: ASP.NET and web development
  • An Azure subscription. If you do not already have subscription, sign up for free, which includes $200 in credit for 30 days and 12 months of popular free services.

  • An ASP.NET Core project. If you don’t have one already, follow Quickstart: Use Visual Studio to create your first ASP.NET Core web app, or use File > New Project, select Visual C# > .NET Core, then select ASP.NET Core Web Application. When prompted, select the Web Application (Model-View-Controller) template, make sure that No Authentication is selected, and then select OK.

  • Make sure you build the project using the Build > Build Solution menu command before following the deployment steps.

Publish to Azure App Service on Linux

  1. In Solution Explorer, right-click the project and choose Publish (or use the Build > Publish menu item).

    The Publish command on the project context menu in Solution Explorer

  2. If you have previously configured any publishing profiles, the Publish window appears. Select New.

  3. In the Publish window, select Azure.

    Choose publish target

  4. Select Azure App Service (Linux) and Next.

    Choose Azure App Service on Linux

  5. Sign in with you Azure account, if necessary. Select Create a new Azure App Service...

    Link to create new instance of Azure App Service

  6. In the Create Azure App Service (Linux) dialog, the App Name, Resource Group, and App Service Plan entry fields are populated. You can keep these names or change them. When ready, select Create.

    Choose Azure App Service

  7. In the Publish dialog, the newly created instance has been automatically selected. When ready, click Finish.

    Choose Azure App Service

  8. Select Publish. Visual Studio deploys the app to your Azure App Service, and the web app loads in your browser. The project properties Publish pane shows the site URL and other details.

    Publish property pane showing a profile summary

Clean up resources

In the preceding steps, you created Azure resources in a resource group. If you don't expect to need these resources in the future, you can delete them by deleting the resource group. From the left menu in the Azure portal, select Resource groups and then select myResourceGroup. On the resource group page, make sure that the listed resources are the ones you want to delete. Select Delete, type myResourceGroup in the text box, and then select Delete.

Next steps

In this quickstart, you learned how to use Visual Studio to create a publishing profile for deployment to App Service on Linux. You may want more information on publishing to Linux using Azure.