俺のラズパイ3で.NET Core 3.0 preview が動くまで

俺のラズパイ2で.NET Core 2.0が動くまで | Moonmile Solutions Blog

前回、ラズパイで .NET Core 2.0 が動いたのだが、セルフビルドができない(後から見れば .NET Core 2.1 で ARM32 対応になっているのだけど)と思ってみたものの、.NET Core 3 ならば大丈夫、という訳でメモ的に。

現時点の v3.0.0-preview8 を使うと Raspberry Pi 3 上で .NET Core でビルドができます。今まで、ラズパイ上でできなくても PC でクロスビルドしてから転送すればよかったので、動くと言えば動くのですが、やっぱり dotnet build ができないと「手軽」とは言えませんよね。手軽じゃなかったら、nodejs を使うか、python を使うか、PHP で Laravel か React を使ったほうが便利なわけですが、ひとまず、.NET Core 3 になるとビルドができます。

ダウンロードしてインストールする

Download .NET Core 3.0 (Linux, macOS, and Windows) https://dotnet.microsoft.com/download/dotnet-core/3.0

ここから SDK の Linux の「ARM32」をダウンロードします。

ラズパイへ WinSCP などで転送できたら、tar で展開します。



mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-3.0.100-preview8-013656-linux-arm.tar.gz -C $HOME/dotnet export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet

export のところは、~/.bashrc に書いて、常にパスを通しておきます。

dotnet new mvc する

ラズパイで .net core を使って HTTP サーバーを動かすパターン



$ dotnet new mvc -n web

すると動きます。.NET Core な読み込みにひどく時間がかかる(1分以上?)のですが、まあ、立ち上がれば何とか。


blazor する

.NET Core 3 の目玉機能である Blazor も動きます。Blazor は WebAssembly 上に .NET Core を乗って動かす SPA です。


laravel する

ついでに、PHP を入れて laravel してみます。


Laravel と Vue.js の相性は良いので、これも nodejs を使って SPA を作れます。

wpf や winforms してみるが駄目

もうひとつの .NET Core 3 の目玉機能として、Linux の環境で WPF や WinForms が動くという(噂?)があります。


一応、テンプレートはあるしプロジェクトは作れるのですが、Windows 上でしか動きません。これだと、Windows 上で .NET Framework を使う場合と同じじゃないか?と思うかもしれませんが、どうなんでしょう?

まあ、.NET Core と .NET Framework は、来年の秋頃に統合されて .NET 5 になるそうなので。

Introducing .NET 5 | .NET Blog

というわけで、まだラズパイ4は手に入れていないので、ラズパイ3での動作確認を。

カテゴリー: 開発, NET Core パーマリンク