Перейти к содержанию

Запуск и публикация приложения ASP.NET Core

Вспомним 4 основных команды .NET, используемые при создании приложений:

  • dotnet new — создает приложение ASP.NET Core из шаблона;
  • dotnet restore — скачивает и устанавливает все указанные пакеты NuGet для проекта;
  • dotnet build — компилирует и собирает проект;
  • dotnet run — запускает приложение.

Если проект успешно компилируется при вызове dotnet build, результат команды будет записан в папку bin в каталоге проекта. Внутри будет несколько необходимых для запуска файлов, включая файл .dll, содержащий код приложения. Например, для проекта ExampleApp файл будет называться ExampleApp.dll.

Примечание

В Windows также будет исполняемый файл ExampleApp.exe. Он просто упрощает запуск приложения, код которого содержится в ExampleApp.dll.

Чтобы развернуть приложение на сервере, его надо опубликовать. Это можно сделать при помощи команды dotnet publish. При этом всё, что нужно приложению для запуска, собирается и упаковывается. Рассмотрим пример:

dotnet publish --output publish --configuration Release

Здесь мы собираем приложение в подпапку проекта publish в оптимизированной конфигурации Release.

После запуска команды dotnet publish в целевой папке будут все необходимые для запуска dll-ки, а также статические файлы приложения в папке wwwroot и файлы конфигурации (appsettings.json).

Чтобы запустить приложение изнутри папки publish, нужно использовать команду

dotnet ExampleApp.dll

Эта команда просто запускает собранное приложение. Так как не выполняется дополнительных операций, как в случае команды dotnet run, запуск происходит быстрее.

Развертывания, зависящие от платформы, и автономные развертывания

Приложения .NET Core можно развертывать двумя способами:

  • RDD (runtime-dependent deployments) — развертывания, зависящие от времени выполнения;
  • SCD (self-contained deployments) — автономные развертывания.

RDD зависит от среды выполнения, развернутой на целевой машине, при этом приложение можно запустить на любой поддерживаемой платформе — Windows, Linux и macOS.
SCD содержит весь код, необходимый для запуска приложения, вместе со средой выполнения .NET. При этом приложение компилируется специально для целевой системы, например 64-разрядной Windows 10 или 64-разрядной Linux.
Вот так можно собрать SCD пакет для 64-разрядной Windows 101:

dotnet publish -c Release -o publish -r win10-64

Подробнее о возможностях и вариантах публикации приложений см. здесь


  1. Полный список возможных идентификаторов сред выполнения здесь 


Последнее обновление : 6 мая 2023 г.
Дата создания : 14 октября 2022 г.

Комментарии

Комментарии