Публикация приложения 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 описывается устранение проблемы с развертыванием Службы приложений.
Необходимые компоненты
- Подписка Azure. Создайте бесплатную учетную запись Azure, если у вас ее нет.
- .NET SDK (последний стабильный выпуск).
- Visual Studio Code.
- Расширение C#.
- Расширение Службы приложений Azure. Прежде чем продолжить, используйте расширение для входа в Azure.
Создание проекта MVC ASP.Net Core
Откройте Интегрированный терминал.
Задайте в качестве рабочего каталога (
cd
) тот каталог, который будет содержать проект.Выполните следующие команды:
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 убедитесь, что оно работает правильно на локальном компьютере.
Откройте интегрированный терминал (при необходимости).
Настройте доверенный сертификат разработки HTTPS:
Настройте доверие сертификату разработки HTTPS с помощью следующей команды:
dotnet dev-certs https --trust
Для предыдущей команды требуется пакет SDK для .NET 9 или более поздней версии в Linux. Для Linux в пакете SDK для .NET 8.0.401 и более ранних версий см. документацию по дистрибутиву Linux для доверия к сертификату.
Приведенная выше команда отображает следующее диалоговое окно, если сертификат не был ранее доверенным:
Выберите Да, если согласны доверять сертификату разработки.
Дополнительные сведения см. в разделе "Доверие" в разделе сертификатов разработки ASP.NET Core HTTPS статьи "Принудительное применение SSL ".
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Выполните следующую команду:
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\
Примените CTRL+щелчок на URL-адресе HTTPS в выходных данных, чтобы протестировать веб-приложение в браузере. В приведенном выше примере URL-адрес —
https://localhost:7064
.Нажмите комбинацию клавиш CTRL+C во встроенном терминале, чтобы завершить работу веб-приложения после тестирования.
Создание пакета развертывания локально
Во встроенном терминале используйте следующую команду, чтобы создать пакет
Release
в папке, расположенной по адресуbin/Publish
:dotnet publish -c Release -o ./bin/Publish
В папке
bin
будет создана новая вложенная папкаPublish
. Эта папка содержит файлы для развертывания в Azure.
Публикация в Службе приложений Azure
Используя расширение службы приложений Azure для Visual Studio Code, выполните следующие действия, чтобы опубликовать веб-сайт непосредственно в службе приложений Azure.
Создание ресурса веб-приложения Azure
Если у вас нет ресурса веб-приложения Azure для публикации, необходимо создать его.
- На вкладке расширения Azure в области Ресурсы разверните подписку, которую вы хотите использовать.
- Щелкните правой кнопкой мыши службы приложений и выберите Создать новое веб-приложение....
- Следуйте инструкциям.
- Введите уникальное имя для веб-приложения.
- Выберите последнюю стабильную среду выполнения .NET (например,
.NET 6 (LTS)
). Не выбирайте среду выполнения ASP.NET, предназначенную для приложений платформы .NET Framework. - Выберите ценовую категорию. План "Бесплатный" (F1) является приемлемым для этого учебника.
Публикация в Azure
Щелкните папку
bin\Publish
правой кнопкой мыши, выберитеDeploy to Web App...
и следуйте инструкциям.- Выберите подписку, в которой расположен ресурс веб-приложения Azure.
- Выберите ресурс веб-приложения Azure, в котором вы будете размещать публикацию.
- Выберите Развернуть при появлении запроса с диалоговым окном подтверждения.
После завершения развертывания щелкните
Browse Website
, чтобы проверить развертывание.После нажатия кнопки
Browse Website
вы перейдете к веб-сайту с помощью браузера по умолчанию:
Совет
Чтобы повторно развернуть приложение в том же ресурсе веб-приложения Azure, можно повторить описанные выше действия. Перед развертыванием в Azure обязательно запустите dotnet publish
еще раз.
Следующие шаги
Дополнительные ресурсы
ASP.NET Core