Raspberry Pi に .NET アプリを展開する
Raspberry Pi への .NET アプリの展開は、他のプラットフォームと同じです。 アプリは、自己完結型またはフレームワーク依存の配置モードとして実行できます。 それぞれの戦略に利点があります。 詳細については、「.NET アプリケーションの発行の概要」を参照してください。
フレームワーク依存アプリの展開
アプリをフレームワーク依存アプリとして展開するには、次の手順を実行します。
Raspberry Pi で SSH が有効になっていることを確認します。 必要に応じて、Raspberry Pi のドキュメントの「Setting up an SSH Server (SSH サーバーの設定)」を参照します。
dotnet-install スクリプトを使用して、Raspberry Pi に .NET をインストールします。 Raspberry Pi (ローカルまたは SSH) で Bash プロンプトから次の手順を実行します。
.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 クライアントを使用して、開発用コンピューターの発行場所から Raspberry Pi 上の新しいフォルダーにファイルをコピーします。たとえば、
scp
コマンドを使用して開発用コンピューターから Raspberry Pi にファイルをコピーするには、コマンド プロンプトを開き、次のコマンドを実行します。scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
各値の説明:
-r
オプションは、ファイルを再帰的にコピーするようにscp
に指示します。- /publish-location/ は、前のステップで発行したフォルダーです。
pi@raspberypi
は、<username>@<hostname>
形式のユーザー名とホスト名です。- /home/pi/deployment-location/ は、Raspberry Pi 上の新しいフォルダーです。
ヒント
最新バージョンの Windows には、インストール済みの
scp
が含まれている OpenSSH があります。Raspberry Pi (ローカルまたは SSH) の Bash プロンプトから、アプリを実行します。 これを行うには、展開フォルダーを現在のディレクトリに設定し、次のコマンドを実行します (HelloWorld.dll はアプリのエントリ ポイントです)。
dotnet HelloWorld.dll
自己完結型アプリの展開
自己完結型アプリとしてアプリを展開するには、次の手順を実行します。
Raspberry Pi で SSH が有効になっていることを確認します。 必要に応じて、Raspberry Pi のドキュメントの「Setting up an SSH Server (SSH サーバーの設定)」を参照します。
開発環境に応じて、次のようにして、開発用コンピューターにアプリを発行します。
Visual Studio を使用している場合は、アプリをローカル フォルダーに配置します。 発行する前に、発行プロファイルの概要で [編集] を選択し、 [設定] タブを選択します。 [配置モード] が [自己完結] に、 [ターゲット ランタイム] が [linux-arm] に設定されていることを確認します。
.NET CLI を使う場合は、
--runtime linux-arm
および--self-contained
引数を指定して dotnet publish コマンドを使用します。dotnet publish --runtime linux-arm --self-contained
重要
64 ビット バージョンの Raspberry Pi OS を使用している場合は、
linux-arm64
ランタイムをターゲットにする必要があります。scp
などの SFTP クライアントを使用して、開発用コンピューターの発行場所から Raspberry Pi 上の新しいフォルダーにファイルをコピーします。たとえば、
scp
コマンドを使用して開発用コンピューターから Raspberry Pi にファイルをコピーするには、コマンド プロンプトを開き、次のコマンドを実行します。scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
各値の説明:
-r
オプションは、ファイルを再帰的にコピーするようにscp
に指示します。- /publish-location/ は、前のステップで発行したフォルダーです。
pi@raspberypi
は、<username>@<hostname>
形式のユーザー名とホスト名です。- /home/pi/deployment-location/ は、Raspberry Pi 上の新しいフォルダーです。
ヒント
最新バージョンの Windows には、インストール済みの
scp
が含まれている OpenSSH があります。Raspberry Pi (ローカルまたは SSH) の Bash プロンプトから、アプリを実行します。 これを行うには、現在のディレクトリを配置場所に設定し、次の手順を実行します。
実行可能ファイルの実行アクセス許可を指定します (
HelloWorld
は実行可能ファイルの名前です)。chmod +x HelloWorld
実行可能ファイルを実行します。
./HelloWorld