共用方式為


在 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 LTS
      

      備註

      此指令可安裝最新的 LTS 版本。 如果您需要特定版本,請將 參數取代--channel LTS為 ,其中 --version <VERSION> 是特定的組建版本,例如 <VERSION>10.0.103。 欲了解版本列表,請參見 .NET SDK for Visual Studio。 要確定完整建置號,請參閱 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