Публикация приложения ASP.NET Core в Azure с помощью Visual Studio Code

С помощью этого руководства вы узнаете, как создать приложение MVC ASP.Net Core и развернуть его в Visual Studio Code. В этом руководстве предполагается, что вы умеете работать с VS Code. Дополнительные сведения см. в статье Начало работы с VS Code. Этот учебник применим к средам Windows, macOS или Linux. Обязательно используйте правильные символы-разделители пути (\, а не /) для вашей среды.

Важно!

Предварительные версии ASP.NET Core в службе приложений Azure

Предварительные версии ASP.NET Core не развертываются в службе приложений Azure по умолчанию. Чтобы разместить приложение, которое использует предварительную версию ASP.NET Core, см. раздел Развертывание предварительной версии ASP.NET Core в службе приложений Azure.

В статье Устранение неполадок ASP.NET Core в Службе приложений Azure и IIS описывается устранение проблемы с развертыванием Службы приложений.

Необходимые компоненты

Создание проекта MVC ASP.Net Core

  1. Откройте Интегрированный терминал.

  2. Задайте в качестве рабочего каталога (cd) тот каталог, который будет содержать проект.

  3. Выполните следующие команды:

    dotnet new mvc -o MyMVCapp
    code -r MyMVCapp
    

    Предыдущие команды:

    • dotnet new mvc -o MyMVCapp
      • Создает новый проект ASP.NET Core MVC в папке MyMVCapp.
    • code -r MyMVCapp
      • Загружает файл проекта MyMVCapp.csproj в Visual Studio Code.
      • Visual Studio Code обновляет интегрированный терминал в каталоге проекта.

Примечание.

Если появляется диалоговое окно с сообщением В MvcMovie отсутствуют необходимые ресурсы для сборки и отладки. Добавить их?, выберите Да.

Новый проект ASP.NET Core MVC создается в папке MyMVCapp со структурой, аналогичной следующему:

      appsettings.Development.json
      appsettings.json
<DIR> bin
<DIR> Controllers
<DIR> Models
      MyMVCapp.csproj
<DIR> obj
      Program.cs
<DIR> Properties
<DIR> Views
<DIR> wwwroot

Папка .vscode будет создана в структуре проекта. Она будет содержать служебные файлы, которые помогут вам создавать и отлаживать веб-приложение ASP.NET Core.

Тестирование проекта

Перед развертыванием приложения в Azure убедитесь, что оно работает правильно на локальном компьютере.

  1. Откройте интегрированный терминал (при необходимости).

  2. Настройте доверенный сертификат разработки HTTPS:

    • Настройте доверие сертификату разработки HTTPS с помощью следующей команды:

      dotnet dev-certs https --trust
      

      Предыдущая команда не работает в Linux. Сведения о настройке доверия к сертификату см. в документации по вашему дистрибутиву Linux.

      Приведенная выше команда отображает следующее диалоговое окно, если сертификат не был ранее доверенным:

      Security warning dialog

    • Выберите Да, если согласны доверять сертификату разработки.

      Дополнительные сведения см. в разделе Настройка доверия к сертификату разработки HTTPS ASP.NET Core.

    Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.

  3. Выполните следующую команду:

    dotnet run
    

    Предыдущая команда:

    • Запускает Kestrel, встроенный веб-сервер ASP.NET Core.
    • Отображает URL-адрес для тестирования веб-приложения, например http://localhost:<port>, где <port> — это случайный номер порта, заданный в Properties\launchSettings.json при создании проекта.

    В выходных данных отображаются сообщения, подобные приведенным ниже, указывающие на то, что приложение запущено и ожидает запросов:

    $ dotnet run
    Building...
    info: Microsoft.Hosting.Lifetime[14]
        Now listening on: https://localhost:7064
    info: Microsoft.Hosting.Lifetime[14]
        Now listening on: http://localhost:5119
    info: Microsoft.Hosting.Lifetime[0]
        Application started. Press Ctrl+C to shut down.
    info: Microsoft.Hosting.Lifetime[0]
        Hosting environment: Development
    info: Microsoft.Hosting.Lifetime[0]
        Content root path: D:\Src\MyMVCapp\
    
  4. Примените CTRL+щелчок на URL-адресе HTTPS в выходных данных, чтобы протестировать веб-приложение в браузере. В приведенном выше примере URL-адрес — https://localhost:7064.

  5. Нажмите комбинацию клавиш CTRL+C во встроенном терминале, чтобы завершить работу веб-приложения после тестирования.

Создание пакета развертывания локально

  1. Во встроенном терминале используйте следующую команду, чтобы создать пакет Release в папке, расположенной по адресу bin/Publish:

    dotnet publish -c Release -o ./bin/Publish
    

    В папке bin будет создана новая вложенная папка Publish. Эта папка содержит файлы для развертывания в Azure.

    Publish folder structure

Публикация в Службе приложений Azure

Используя расширение службы приложений Azure для Visual Studio Code, выполните следующие действия, чтобы опубликовать веб-сайт непосредственно в службе приложений Azure.

Создание ресурса веб-приложения Azure

Если у вас нет ресурса веб-приложения Azure для публикации, необходимо создать его.

  1. На вкладке расширения Azure в области Ресурсы разверните подписку, которую вы хотите использовать.
  2. Щелкните правой кнопкой мыши службы приложений и выберите Создать новое веб-приложение....
  3. Следуйте инструкциям.
    1. Введите уникальное имя для веб-приложения.
    2. Выберите последнюю стабильную среду выполнения .NET (например, .NET 6 (LTS)). Не выбирайте среду выполнения ASP.NET, предназначенную для приложений платформы .NET Framework.
    3. Выберите ценовую категорию. План "Бесплатный" (F1) является приемлемым для этого учебника.

Публикация в Azure

  1. Щелкните папку bin\Publish правой кнопкой мыши, выберите Deploy to Web App... и следуйте инструкциям.

    1. Выберите подписку, в которой расположен ресурс веб-приложения Azure.
    2. Выберите ресурс веб-приложения Azure, в котором вы будете размещать публикацию.
    3. Выберите Развернуть при появлении запроса с диалоговым окном подтверждения.
  2. После завершения развертывания щелкните Browse Website, чтобы проверить развертывание.

    Deployment succeeded message

    После нажатия кнопки Browse Website вы перейдете к веб-сайту с помощью браузера по умолчанию:

    New Web App successfully deployed

Совет

Чтобы повторно развернуть приложение в том же ресурсе веб-приложения Azure, можно повторить описанные выше действия. Перед развертыванием в Azure обязательно запустите dotnet publish еще раз.

Следующие шаги

Дополнительные ресурсы