プロジェクトで組み込むべきソフトウェア資産として、C#製のモノがきました。
……C#、ほぼ3年ぶりです。
今だから言いますが、あれは炎上案件でしたね……。
shuzo-kino.hateblo.jp
さて気を取り直して。
今回のターゲットはWindowsではなくRaspberry Pi。
OSもCPUも違うモンですが、最近のC#は大分進んでいて、クロスプラットフォーム環境としてmonoちうものが用意されています。
monoをつかうと、C#製Win用プロジェクトをそのままRaspberry Piで使える……こともあるようです。
構造が単純で装置依存の低いやつなら、無改変でいける可能性があります。
すくなくとも、オフィシャルにはクロスプラットフォームを謳っています。
実際のところ
リポジトリ追加。
ubuntuのキーサーバーを指定してますが、Raspberry OSでも大丈夫です。
$ sudo apt install apt-transport-https dirmngr gnupg ca-certificates $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF $ echo "deb https://download.mono-project.com/repo/debian stable-raspbianbuster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list $ sudo apt update
導入。
285Mbyteもあるので、まったり待ちましょう。
容量もさることながら、ビルドもそこそこ負荷があります。
$ sudo apt install mono-devel
test.csというファイルにhello worldをかいてみます。
using System; public class HelloWorld { public static void Main(string[] args) { Console.WriteLine ("Hello Mono World"); } }
$ csc test.cs Microsoft (R) Visual C# Compiler version 3.6.0-4.20224.5 (ec77c100) Copyright (C) Microsoft Corporation. All rights reserved. $
実行。拡張子がexeで不安ですけど、monoを噛ませればちゃんと動いてくれます。
$ mono test.exe Hello Mono World