Развертывание приложений .NET на компьютерах с одной платой ARM
Развертывание приложений .NET на одноплатформенных компьютерах идентично любой другой платформе. Приложение может использовать автономный или зависимый от платформы режим развертывания. У каждой стратегии есть свои преимущества. Дополнительные сведения см. в статье Обзор публикации приложений .NET.
Развертывание приложения, зависящего от платформы
Чтобы развернуть приложение как приложение, зависящее от платформы, выполните следующие действия.
Убедитесь, что SSH включен на устройстве. Для Raspberry Pi см. инструкции по настройке SSH-сервера в документации raspberry Pi.
Установите .NET на устройстве с помощью скриптов dotnet-install. Выполните следующие действия из запроса Bash на устройстве (локальный или SSH):
Выполните следующую команду, чтобы установить .NET:
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel STS
Примечание.
При этом устанавливается последняя версия. Если вам нужна определенная версия, замените параметр
--channel STS
на--version <VERSION>
, где<VERSION>
— это версия конкретной сборки.Чтобы упростить разрешение пути, добавьте переменную среды
DOTNET_ROOT
и добавьте каталог .dotnet к$PATH
с помощью следующих команд:echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc source ~/.bashrc
Проверьте установку .NET, выполнив следующую команду:
dotnet --version
Убедитесь, что отображаемая версия соответствует установленной версии.
Опубликуйте приложение на компьютере разработки, как показано ниже, в зависимости от среды разработки.
- Разверните приложение в локальную папку, если используется Visual Studio. Перед публикацией выберите Изменить в сводке профиля публикации и перейдите на вкладку Параметры. Убедитесь, что для Режима развертывания задано значение Зависимый от платформы, а Целевая среда выполнения — Портативные.
- При использовании интерфейса командной строки .NET используйте команду dotnet publish. Дополнительных аргументов не требуется.
С помощью клиента SFTP, например
scp
, скопируйте файлы из расположения публикации на компьютере разработки в новую папку на SBC.Например, чтобы использовать
scp
команду для копирования файлов с компьютера разработки на SBC, откройте командную строку и выполните следующую команду:scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
Где:
- Параметр
-r
предписываетscp
рекурсивно копировать файлы. - /publish-location/ — это папка, опубликованная на предыдущем шаге.
pi@raspberypi
— имя пользователя и узла в формате<username>@<hostname>
.- /home/pi/deployment-location/ — это новая папка в SBC.
Совет
Последние версии Windows поставляются с OpenSSH, включая
scp
.- Параметр
Запустите приложение из командной строки Bash на Raspberry Pi (локальном или SSH). Для этого задайте папку развертывания в качестве текущего каталога и выполните следующую команду (где HelloWorld.dll является точкой входа приложения):
dotnet HelloWorld.dll
Развертывание автономного приложения
Чтобы развернуть приложение как автономное приложение, выполните следующие действия.
Убедитесь, что SSH включен на устройстве. Для Raspberry Pi см. инструкции по настройке SSH-сервера в документации raspberry Pi.
Опубликуйте приложение на компьютере разработки, как показано ниже, в зависимости от среды разработки.
Разверните приложение в локальную папку, если используется Visual Studio. Перед публикацией выберите "Изменить" в сводке профиля публикации и выберите вкладку Параметры. Убедитесь, что для режима развертывания задано значение "Локальная среда выполнения", а целевая среда выполнения — linux-arm64.
При использовании .NET CLI используйте команду dotnet publish с
--runtime linux-arm64
аргументами:--self-contained
dotnet publish --runtime linux-arm64 --self-contained
Внимание
Если вы используете 32-разрядную ОС, вам нужно настроить среду
linux-arm
выполнения.С помощью клиента SFTP, например
scp
, скопируйте файлы из расположения публикации на компьютере разработки в новую папку на SBC.Например, чтобы использовать
scp
команду для копирования файлов с компьютера разработки на SBC, откройте командную строку и выполните следующую команду:scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
Где:
- Параметр
-r
предписываетscp
рекурсивно копировать файлы. - /publish-location/ — это папка, опубликованная на предыдущем шаге.
pi@raspberypi
— имя пользователя и узла в формате<username>@<hostname>
.- /home/pi/deployment-location/ — это новая папка в SBC.
Совет
Последние версии Windows поставляются с OpenSSH, включая
scp
.- Параметр
В командной строке Bash на устройстве (локальном или SSH) запустите приложение. Для этого задайте в качестве текущего каталога расположение развертывания и выполните следующие действия:
Предоставьте исполняемому файлу разрешение execute (где
HelloWorld
— имя исполняемого файла).chmod +x HelloWorld
Запустите исполняемый файл.
./HelloWorld