俺のラズパイ2で.NET Core 2.0が動くまで | Moonmile Solutions Blog
http://www.moonmile.net/blog/archives/8732
では C# が動いたので、今度は F# で試してみましょう。
手順は、C# の時と一緒で、
- Raspberry Pi2/3でRasbianを用意する。
- PC上で、.NET Coreのプログラムを作る。
- PCからRaspberry Piにデプロイする(アセンブリをコピーする)
すれば ok です。コードが F# なので、デプロイするアセンブリに「FSharp.Core.dll」が含まれていれば、ああ F# で動いているね、ということになります。
F#なコンソールアプリを作る
プログラム言語を -lang で指定して、コンソールアプリを作ります。
1 | dotnet new console -n hellofs -lang F# |
できあがったコードは、こんな感じ。皆さん、見慣れた F# なコードですよね :)
1 2 3 4 5 6 | // Learn more about F# at http://fsharp.org open System [<EntryPoint>] let main argv = printfn "Hello World from F#!" 0 // return an integer exit code |
[/code]
ビルドする
ビルドは、C# と同じです。ARM 用に -r linux-arm のスイッチを付けて publish します。
1 2 | dotnet build dotnet publish -r linux-arm |
転送する
ビルドができたら、WinSCP を使って publish フォルダ―を転送します。
この部分は、適当なバッチを作っておきたいところですね。
実行フラグを付ける
Tera term で Raspbian に接続して、chmod +x して実行権限を付けます。
1 2 | chmod +x hellofs ./hellfs |
いよいよ asp.net mvc code + F# ができるのか?
と思いきや、ビルド時にエラーがでています。
どうも Razor のコード出力あたりでエラーになっていますね。この部分、通常の ubuntu でやってもエラーになるので、普通に不具合じゃないかなと。プレビュー版だし。
確か、1.1 の時は mvc にしても linux 上(Raspberry Pi上じゃなくて、x64のUnbuntu上)
で動いたはずなので、いずれ直ると思います。
dotnet new webapi のほうは、linux-arm でも動くので、これは後で試します。次は、せっかくなので GPIO を使って .net core 2.0 + Lチカの巻へ。