シングルボード コンピューターへの .NET アプリの展開は、他のプラットフォームと同じです。 アプリは 、自己完結型 または フレームワークに依存する デプロイ モードとして実行できます。 各戦略には利点があります。 詳細については、「 .NET アプリケーションの発行の概要」を参照してください。
フレームワークに依存するアプリのデプロイ
フレームワークに依存するアプリとしてアプリをデプロイするには、次の手順を実行します。
デバイスで SSH が有効になっていることを確認します。 Raspberry Pi については、 Raspberry Pi ドキュメントの SSH サーバーの設定 を参照してください。
dotnet-install スクリプトを使用して、デバイスに .NET をインストールします。 デバイス (ローカルまたは SSH) の Bash プロンプトから次の手順を完了します。
次のコマンドを実行して .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 2022 SDK」列を参照してください。パスの解決を簡略化するには、
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@raspberrypi
は、<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 を使用する場合は、
--runtime linux-arm64
引数と--self-contained
引数を指定して dotnet publish コマンドを使用します。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@raspberrypi
は、<username>@<hostname>
形式のユーザー名とホスト名です。 - /home/pi/deployment-location/ は SBC 上の新しいフォルダーです。
ヒント
Windows の最近のバージョンには OpenSSH があり、
scp
がプレインストールされています。-
デバイス (ローカルまたは SSH) の Bash プロンプトから、アプリを実行します。 これを行うには、現在のディレクトリをデプロイの場所に設定し、次の手順を実行します。
実行可能ファイルの 実行 アクセス許可を付与します (ここで、
HelloWorld
は実行可能ファイル名です)。chmod +x HelloWorld
実行可能ファイルを実行します。
./HelloWorld
.NET