在 ARM 單板電腦上部署 .NET 應用程式
將 .NET 應用程式部署到單板電腦與任何其他平台的部署相同。 您的應用程式可以執行為獨立式或架構相依的部署模式。 每個策略都有優點。 如需詳細資訊,請參閱 .NET 應用程式發佈概觀。
部署與 Framework 相依的應用程式
若要將應用程式部署為架構相依的應用程式,請完成下列步驟:
確定您的裝置上已啟用 SSH。 如需 Raspberry Pi,請參閱 Raspberry Pi 文件中的設定 SSH 伺服器。
使用 dotnet-install 指令碼在裝置上安裝 .NET。 從裝置上的 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 CLI,請使用 dotnet publish 命令。 不需要其他引數。
使用類似
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
,並且會預先安裝。從 Raspberry Pi (本機或 SSH) 的 Bash 提示字元中,執行應用程式。 若要這樣做,請將部署資料夾設定為目前目錄,並執行下列命令 (其中 HelloWorld.dll 是應用程式的進入點):
dotnet HelloWorld.dll
部署獨立式應用程式
若要將應用程式部署為獨立式應用程式,請完成下列步驟:
確定您的裝置上已啟用 SSH。 如需 Raspberry Pi,請參閱 Raspberry Pi 文件中的設定 SSH 伺服器。
視開發環境而定,在開發電腦上發佈應用程式,如下所示。
若是使用 Visual Studio,請將應用程式部署到本機資料夾。 發佈之前,請在發行設定檔摘要中選取 [編輯],然後選取 [設定] 索引標籤。確定 [部署模式] 設定為 [獨立式],且 [目標執行階段] 設定為 [linux-arm64]。
如果使用 .NET CLI,請使用 dotnet publish 命令搭配
--runtime linux-arm64
和--self-contained
引數:dotnet publish --runtime linux-arm64 --self-contained
重要
如果您是使用 32 位元 OS,您需要以
linux-arm
執行階段為目標。使用類似
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
,並且會預先安裝。從裝置 (本機或 SSH) 上的 Bash 提示字元中,執行應用程式。 若要這樣做,請將目前的目錄設定為部署位置,然後完成下列步驟:
提供可執行檔執行權限 (其中
HelloWorld
是可執行檔名稱)。chmod +x HelloWorld
執行可執行檔。
./HelloWorld