Публикация приложения .Net Core в Linux
У меня есть .Net Core 5, и я хочу опубликовать это приложение на машине Linux.
Я установил .net core 5 sdk на эту машину.
я использовал
dotnet publish AppName.sln
но я получаю сообщение «восстановление пакетов», и на этом оно останавливается. Я не получаю каталог публикации или сообщения об ошибках, чтобы выяснить, что может быть причиной этой проблемы.
Мне не хватает требований для запуска основного приложения .NET?
1 ответ
@M.peace При развертывании в Linux я публикую приложение в Windows и копирую файлы в систему Linux (развертываю в них). Я никогда не публикую в Linux. Я разворачиваю только на Linux. Это важное различие. Вот части моего плана действий по развертыванию:
В системе Linux: (Для меня Debian. Если вы не используете Debian, это может отличаться.)
Install snapd
(https://snapcraft.io/docs/installing-snap-on-debian)
sudo apt-get install snapd
sudo snap install core
Install .NET 5 Core SDK
(https://docs.microsoft.com/en-us/dotnet/core/install/linux-snap)
sudo snap install dotnet-sdk --classic --channel=5.0
sudo snap alias dotnet-sdk-50.dotnet dotnet
sudo ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
Затем машина сборки Windows:
Publish Application
Target Runtime = linux-x64
Deployment Mode = Framework-dependent
Zip publish folder and copy to host
Мои настройки публикации:
Это все, что вам нужно сделать, чтобы получить встроенный проект .NET Core в Linux. Для этого вам нужно настроить его для запуска. Как это сделать, зависит от того, является ли проект веб-приложением или консольным приложением. Консольные приложения относительно просты. Просто запустите его, используя
dotnet project.dll
. Веб-приложения требуют настройки Apache и Kestrel.