Поделиться через


Развертывание приложений .NET на компьютерах с одной платой ARM

Развертывание приложений .NET на одноплатформенных компьютерах идентично любой другой платформе. Приложение может использовать автономный или зависимый от платформы режим развертывания. У каждой стратегии есть свои преимущества. Дополнительные сведения см. в статье Обзор публикации приложений .NET.

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

Animated GIF showing a diagram of framework-dependent deployment. The SDK creates the assemblies, which require the .NET runtime on the target device.

Чтобы развернуть приложение как приложение, зависящее от платформы, выполните следующие действия.

  1. Убедитесь, что SSH включен на устройстве. Для Raspberry Pi см. инструкции по настройке SSH-сервера в документации raspberry Pi.

  2. Установите .NET на устройстве с помощью скриптов dotnet-install. Выполните следующие действия из запроса Bash на устройстве (локальный или SSH):

    1. Выполните следующую команду, чтобы установить .NET:

      curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel STS
      

      Примечание.

      При этом устанавливается последняя версия. Если вам нужна определенная версия, замените параметр --channel STS на --version <VERSION>, где <VERSION> — это версия конкретной сборки.

    2. Чтобы упростить разрешение пути, добавьте переменную среды DOTNET_ROOT и добавьте каталог .dotnet к $PATH с помощью следующих команд:

      echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
      echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
      source ~/.bashrc
      
    3. Проверьте установку .NET, выполнив следующую команду:

      dotnet --version
      

      Убедитесь, что отображаемая версия соответствует установленной версии.

  3. Опубликуйте приложение на компьютере разработки, как показано ниже, в зависимости от среды разработки.

    • Разверните приложение в локальную папку, если используется Visual Studio. Перед публикацией выберите Изменить в сводке профиля публикации и перейдите на вкладку Параметры. Убедитесь, что для Режима развертывания задано значение Зависимый от платформы, а Целевая среда выполнения — Портативные.
    • При использовании интерфейса командной строки .NET используйте команду dotnet publish. Дополнительных аргументов не требуется.
  4. С помощью клиента 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.

  5. Запустите приложение из командной строки Bash на Raspberry Pi (локальном или SSH). Для этого задайте папку развертывания в качестве текущего каталога и выполните следующую команду (где HelloWorld.dll является точкой входа приложения):

    dotnet HelloWorld.dll
    

Развертывание автономного приложения

Animated GIF showing a diagram of self-contained deployment. The SDK creates the assemblies bundled with the .NET runtime. Consequently, there are no dependencies required on the target device.

Чтобы развернуть приложение как автономное приложение, выполните следующие действия.

  1. Убедитесь, что SSH включен на устройстве. Для Raspberry Pi см. инструкции по настройке SSH-сервера в документации raspberry Pi.

  2. Опубликуйте приложение на компьютере разработки, как показано ниже, в зависимости от среды разработки.

    • Разверните приложение в локальную папку, если используется Visual Studio. Перед публикацией выберите "Изменить" в сводке профиля публикации и выберите вкладку Параметры. Убедитесь, что для режима развертывания задано значение "Локальная среда выполнения", а целевая среда выполненияlinux-arm64.

    • При использовании .NET CLI используйте команду dotnet publish с --runtime linux-arm64 аргументами:--self-contained

      dotnet publish --runtime linux-arm64 --self-contained
      

    Внимание

    Если вы используете 32-разрядную ОС, вам нужно настроить среду linux-arm выполнения.

  3. С помощью клиента 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.

  4. В командной строке Bash на устройстве (локальном или SSH) запустите приложение. Для этого задайте в качестве текущего каталога расположение развертывания и выполните следующие действия:

    1. Предоставьте исполняемому файлу разрешение execute (где HelloWorld — имя исполняемого файла).

      chmod +x HelloWorld
      
    2. Запустите исполняемый файл.

      ./HelloWorld