Запуск и публикация приложения 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. При этом всё, что нужно приложению для запуска, собирается и упаковывается. Рассмотрим пример:
Здесь мы собираем приложение в подпапку проекта publish в оптимизированной конфигурации Release.
После запуска команды dotnet publish в целевой папке будут все необходимые для запуска dll-ки, а также статические файлы приложения в папке wwwroot и файлы конфигурации (appsettings.json).
Чтобы запустить приложение изнутри папки publish, нужно использовать команду
Эта команда просто запускает собранное приложение. Так как не выполняется дополнительных операций, как в случае команды
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:
Подробнее о возможностях и вариантах публикации приложений см. здесь
Дата создания : 14 октября 2022 г.