Назад | Перейти на главную страницу

Какой пакет мне следует установить для запуска развернутого приложения .Net Core?

Я создаю API .Net Core, который будет размещен на сервере на основе Ubuntu. Я устанавливаю необходимые мне пакеты на сервере, то есть MySQL и Nginx, но, конечно же, мне нужно установить .Net Core для запуска приложения.

Я нашел пример учебника о том, как установить и настроить Nginx для работы с сервером Kestrel, но предполагается, что у вас уже установлен .Net Core на компьютере, на котором он будет развернут.

Веб-сайт .Net Core, кажется, только инструктирует вас установить SDK, но он предназначен для развертывания, а не разработки, поэтому имеет смысл вместо этого установить среду выполнения .Net Core, однако при выполнении apt-cache search dotnet чтобы найти конкретное имя пакета, я нашел dotnet-hosting-2.0.0 перечислены также, что описано в «Microsoft .NET Core 2.0.0 Linux Server Hosting».

Подводя итог, мой вопрос заключается в следующем. Для размещения приложения .Net Core вы используете dotnet-hosting или dotnet-runtime пакет для развертывания приложения .Net Core?

После дальнейших исследований я обнаружил, что dotnet-hosting пакет сочетает в себе dotnet-runtime и aspnetcore-store пакеты. Проверено этот комментарий Github.

Среда выполнения и хранилище среды выполнения упакованы в установщики "Linux Server Hosting" с именем пакета. dotnet-hosting-2.0.0.


aspnetcore-store сейчас по умолчанию обязательная зависимость об опубликованных приложениях ASP.Net Core.

По умолчанию приложения ASP.NET публикуются в зависимости от хранилища среды выполнения.


Итак, чтобы ответить на мой вопрос прямо, dotnet-hosting-x.x.x должен быть установлен при развертывании приложения ASP.Net Core. Это также устранит следующую ошибку, когда aspnetcore-store не устанавливается вместе с dotnet-runtime пакет.

Error: An assembly specified in the application dependencies manifest (APIproject.deps.json) was not found: package: 'Microsoft.ApplicationInsights.AspNetCore', version: '2.1.1' path: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll' This assembly was expected to be in the local runtime store as the application was published using the following target manifest files: aspnetcore-store-2.0.0-linux-x64.xml;aspnetcore-store-2.0.0-osx-x64.xml;aspnetcore-store-2.0.0-win7-x64.xml;aspnetcore-store-2.0.0-win7-x86.xml


Я сам тестировал пакет на Ubuntu 16.04 со своим приложением, и он работает хорошо.