🍓

Raspberry Piで.NET開発環境を構築する

2022/01/04に公開

全体構成

今回は、Visual Studio Code(以下VS Code)のRemote Development拡張機能を使用し、Raspberry Piを、Windows10マシンに入れたVS Codeから遠隔操作する。
全体構成

Raspberry Piの準備

今回、Raspberry Pi4を使用する。
詳細は後で書くが、Visual Studio Code のC#拡張機能がLinux arm 32bit に対応していないので、Raspberry Pi OSの64bit版を使用する。
Raspberry Pi Imagerの一覧に表示されていないので、自分でOSイメージをダウンロードする必要がある。これの詳細に関しては、他の記事に委ねることとする。
2022年2月2日追記
Raspberry Pi OS (64-bit)が正式リリースされました
Raspberry Pi ImagerのOS一覧に表示されます。
https://www.raspberrypi.com/news/raspberry-pi-os-64-bit/

また、SSH接続ができるように設定しておく。

.NETのインストール

https://docs.microsoft.com/ja-jp/dotnet/iot/deployment
ページのタイトルが「アプリを展開する」だから分かりづらいけど、「フレームワーク依存アプリの展開」の「2.」で解説されている。

要約すると、以下のコマンドを順番に実行すれば良い。

Bash
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel Current
Bash
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
source ~/.bashrc
Bash
dotnet --version

最後のコマンドは、.NETがインストールできたかの確認なので必須では無い。

これで、Raspberry Pi側の設定は終わり。

Windows10(遠隔操作する側)の設定

VS Codeをインストールする。
次に、VS Codeの「Remote Development」拡張機能をインストールする。拡張機能の検索窓に入れると、一番上に出るはずなのでインストールする。

Remote Development拡張機能の詳細については、他の記事に委ねる。私が参考にした記事はこちら。
https://qiita.com/c60evaporator/items/26ab9cfb9cd36facc8fd

C#拡張機能のインストール

VS CodeのC#拡張機能の最新版(2021/12/27現在)は、arm64には対応していない。
ベータ版としてarm64に対応したものが配布されているので、これを使用する。
ちなみに、arm32版は無いのでOSを64bit版にしたわけである。

githubのOmniSharpプロジェクトページを開く。
Releasesへ行き、「v1.23.18-beta1」のAssetsから「csharp-1.23.18-linux-arm64.vsix」をダウンロードする。
https://github.com/OmniSharp/omnisharp-vscode/releases/tag/v1.23.18-beta1

VS Codeを立ち上げ、Remote Development拡張機能でRaspberry Piへアクセスする。
左の拡張機能の画面の右上にある三点リーダっぽいボタンから、「VSIXからのインストール...」を選ぶ。
「ローカルを表示します。」ボタンを押して、Windows上のファイルを表示します。
ダウンロードした「csharp-1.23.18-linux-arm64.vsix」を選択し、インストールをする。

試行錯誤の痕跡

試行錯誤中のメモとして、スクラップを書いていたのでそれを貼る。
https://zenn.dev/shigobu/scraps/7365cdee3b98ef

Discussion