在 ARM 單板電腦上部署 .NET 應用程式

將 .NET 應用程式部署到單板電腦與任何其他平台的部署相同。 您的應用程式可以執行為獨立式架構相依的部署模式。 每個策略都有優點。 如需詳細資訊,請參閱 .NET 應用程式發佈概觀

部署與 Framework 相依的應用程式

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,請參閱 Raspberry Pi 文件中的設定 SSH 伺服器

  2. 使用 dotnet-install 指令碼在裝置上安裝 .NET。 從裝置上的 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 CLI,請使用 dotnet publish 命令。 不需要其他引數。
  4. 使用類似 scp 的 SFTP 用戶端,將檔案從開發電腦上的發佈位置複製到 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. 從 Raspberry Pi (本機或 SSH) 的 Bash 提示字元中,執行應用程式。 若要這樣做,請將部署資料夾設定為目前目錄,並執行下列命令 (其中 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,請參閱 Raspberry Pi 文件中的設定 SSH 伺服器

  2. 視開發環境而定,在開發電腦上發佈應用程式,如下所示。

    • 若是使用 Visual Studio請將應用程式部署到本機資料夾。 發佈之前,請在發行設定檔摘要中選取 [編輯],然後選取 [設定] 索引標籤。確定 [部署模式] 設定為 [獨立式],且 [目標執行階段] 設定為 [linux-arm64]

    • 如果使用 .NET CLI,請使用 dotnet publish 命令搭配 --runtime linux-arm64--self-contained 引數:

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

    重要

    如果您是使用 32 位元 OS,您需要以 linux-arm 執行階段為目標。

  3. 使用類似 scp 的 SFTP 用戶端,將檔案從開發電腦上的發佈位置複製到 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. 從裝置 (本機或 SSH) 上的 Bash 提示字元中,執行應用程式。 若要這樣做,請將目前的目錄設定為部署位置,然後完成下列步驟:

    1. 提供可執行檔執行權限 (其中 HelloWorld 是可執行檔名稱)。

      chmod +x HelloWorld
      
    2. 執行可執行檔。

      ./HelloWorld