Raspberry Pi C# (csharp)
In diesem Tutorial Artikel zeige ich euch wie man am Raspberry Pi C# (csharp) programmiert. Der Raspberry Pi ist zwar nicht Plattform Nummer eins, wenn es um .NET geht, trotzdem lassen sich dank Mono sehr einfach auch komplexe Programme entwickeln.
Raspberry Pi C# (csharp)
Die .NET Entwicklung auf nicht Microsoft Betriebssystemen basiert auf dem Mono Projekt. Das ist eine Open Source Implementierung vom .NET Framework. Bevor wir also überhaupt anfangen können müssen wir unser System darauf vorbereiten. Eine Installation von Mono ist zwingen notwendig und funktioniert mit dem folgenden Befehl:
sudo apt-get install mono-complete
Je nach Bandbreite und Schreibgeschwindigkeit der SD Karte dauert das schon mal 15-30 Minuten. Mit Mono können wir nun C# Code compilieren und .NET Programme ausführen.
Mein erstes C# Programm am Raspberry Pi
Ähnlich wie zuletzt bei meinem Raspberry Pi Java Artikel legen wir uns ein neues Verzeichnis für den Source Code an und erstellen unsere erste Klasse mit einem beliebigen Texteditor (ohne IDE). Ich habe mein HelloWorld in leafpad geschrieben:
Bei der Installation von Mono werden jede Menge Tools installiert. Eines davon ist der Compiler, den wir mit dem Befehl mcs aufrufen. Das Beispiel wird wie folgt kompiliert:
mcs HelloWorld.cs
Als Ergebnis erhalten wir nun die HelloWorld.exe Datei. Doch Moment mal…wie kann man denn *.exe Dateien am Raspberry Pi ausführen?
.NET Programme ausführen
Der Grund warum wir die *.exe Datei nicht ausführen können liegt auf der Hand. Windows Executables werden unter Linux generell nicht unterstützt. Doch warum wird eigentlich eine *.exe Datei erstellt? Als C# Entwickler lernt man, dass der geschriebene Code in eine IL Sprache (intermediate language) übersetzt wird, welcher wiederum in einer virtuellen Maschine ausgeführt wird. Genau wie unter Java auch. Dafür benötigt man keine *.exe. Der Compiler erstellt neben dem IL Code auch einen Bootstrap Code, welcher als *.exe ausgeführt wird un nicht mehr macht, als den kompilierten IL Code in einer virtuellen Umgebung ausführt. Dazu startet er die virtuelle Umgebung.
Mono bietet unter Linux einen Weg um diesen IL Code auszuführen. Mit dem mono Kommando wird dieser aus einer *.exe Datei in einer virtuellen Umgebung gestartet. Der Aufruf sieht wie folgt aus:
mono HelloWorld.exe
Die Ausgabe zeigt das erhoffte Ergebnis.
Mit dem file Kommando können wir uns nähere Details über die *.exe Datei ausgeben. Die Ausgabe zeigt, dass es sich um eine .Net Assembly handelt.
Fazit
In diesem Artikel haben wir am Raspberry Pi C# (csharp) Code übersetzt und mit Mono ausgeführt. Es ist möglich .NET Programme unter Linux auszuführen und dort auch C# Programme zu erstellen. Damit sind wir aber noch lange nicht am Ende. Man kann den Raspberry Pi auch als Entwicklungssystem zum Testen verwenden und am PC oder Laptop unter Visual Studio .NET Programme entwickeln oder sogar .NET Programme mit einer GTK Oberfläche erstellen. Im nächsten Artikel erzeugen wir mit GTK ein Fenster.
Hast du Interesse an weiterführenden Artikeln zur .NET Entwicklung auf dem Raspberry Pi oder Linux allgemein?
Interessant. Wie kann man ein C# GUI machen. Unter VS ein C# GUI erstellen und einfach nach die RPi 4 kopieren?
Ich mag C#.
ja so zum Beispiel: https://developer-blog.net/raspberry-pi-c-csharp-fenster-programm/