共用方式為


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

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

部署架構相依應用程式

顯示架構相依部署圖表的動畫GIF。SDK 會建立元件,其需要目標裝置上的 .NET 運行時間。

若要將應用程式部署為架構相依應用程式,請完成下列步驟:

  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>8.0.404。 如需版本清單,請參閱 適用於 Visual Studio 的 .NET SDK。 要確定完整的建置號,請參閱 Visual Studio 2026 SDK 欄位。

    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. 使用之類的 scpSFTP 用戶端,將檔案從開發電腦上的發佈位置複製到 SBC 上的新資料夾。

    例如,若要使用 scp 命令將檔案從開發計算機複製到 SBC,請開啟命令提示字元並執行下列命令:

    scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
    

    地點:

    • 選項 -rscp 指示以遞歸方式複製檔案。
    • /publish-location/ 是您在上一個步驟中發佈至的資料夾。
    • pi@raspberrypi 是格式 <username>@<hostname>的使用者和主機名。
    • /home/pi/deployment-location/ 是 SBC 上的新資料夾。

    小提示

    最新版本的 Windows 預載了 OpenSSH,其中包含 scp

  5. 從 Raspberry Pi (本機或 SSH) 上的 Bash 提示字元中,執行應用程式。 若要這樣做,請將部署資料夾設定為目前目錄,然後執行下列命令(其中 HelloWorld.dll 是應用程式的進入點):

    dotnet HelloWorld.dll
    

部署獨立式應用程式

一個動畫GIF展示了一個獨立式部署的圖表。此 SDK 會建立與 .NET 執行階段綑綁在一起的組件。因此,目標裝置上無需其他相依關係。

若要將應用程式部署為獨立應用程式,請完成下列步驟:

  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 位作系統,則必須以 linux-arm 運行時間為目標。

  3. 使用之類的 scpSFTP 用戶端,將檔案從開發電腦上的發佈位置複製到 SBC 上的新資料夾。

    例如,若要使用 scp 命令將檔案從開發計算機複製到 SBC,請開啟命令提示字元並執行下列命令:

    scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
    

    地點:

    • 選項 -rscp 指示以遞歸方式複製檔案。
    • /publish-location/ 是您在上一個步驟中發佈至的資料夾。
    • pi@raspberrypi 是格式 <username>@<hostname>的使用者和主機名。
    • /home/pi/deployment-location/ 是 SBC 上的新資料夾。

    小提示

    最新版本的 Windows 預載了 OpenSSH,其中包含 scp

  4. 從裝置上的 Bash 提示字元(本機或 SSH),執行應用程式。 若要這樣做,請將目前目錄設定為部署位置,然後完成下列步驟:

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

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

      ./HelloWorld