📌 Auf einen Blick: .NET-Tests mit Mono unter Linux
| Entwicklungstool | Microsoft Visual Studio &C# (Windows Forms / GDI+) |
|---|---|
| Ziellaufzeit | Mono Runtime (Open Source .NET Framework) |
| Zielbetriebssystem | Linux (Debian / Ubuntu / Raspberry Pi OS) |
| Testprojekt | Hüpfender Ball (Schwerkraft- und Kollisionsphysiksimulation) |
| Grafik-Zeichen-Engine | System.Drawing und Linux X11-Integration |
| Ziel | Überprüfen der Binärkompatibilität, ohne den Code zwischen zwei Betriebssystemen zu wechseln |
Vor dem modernen .NET war das Open-Source-Mono-Projekt die beliebteste Möglichkeit, in C# geschriebene Windows-Anwendungen in einer Linux-Umgebung auszuführen.Dieses Tutorial zeigt, wie eine mit Visual Studio entwickelte Simulation eines sich bewegenden Balls unter Linux fehlerfrei läuft.
Einführung: Plattformübergreifende .NET-Architektur und Mono
Das unter der Leitung von Miguel de Icaza initiierte Mono-Projekt betrat Neuland in der Softwarewelt, indem es die .NET-Runtime von Microsoft auf Linux- und Unix-Derivate portierte.In dieser Anleitung wird anhand einer praktischen Simulation erläutert, wie eine in einer Windows-Umgebung kompilierte Binärdatei (binary .exe) direkt unter Linux ausgeführt wird [1].
1. Windows Forms und GDI+ Physiksimulation
Die Implementierung des springenden Balls simuliert das Auftreffen des Objekts auf die Bildschirmränder mit Grafik-Doppelpufferung und Timer-Schleifen:
private void timer1_Tick(object sender, EventArgs e)
{
ballX += speedX;
ballY += speedY;
// Duvarlardan sekme kontrolleri
if (ballX < 0 || ballX + ballRadius > this.ClientSize.Width) speedX = -speedX;
if (ballY < 0 || ballY + ballRadius > this.ClientSize.Height) speedY = -speedY;
this.Invalidate(); // Yeniden çiz
}
2. Ausführung mit Mono in einer Linux-Umgebung
Um die kompilierte Datei im Linux-Terminal auszuführen, müssen Sie lediglich den folgenden Befehl [2] eingeben:
sudo apt update && sudo apt install mono-complete
mono BouncingBallApp.exe
Mono übersetzt System.Windows.Forms-Aufrufe an den X11-Fenstermanager und zeigt das Bild nahtlos auf dem Bildschirm an.
Unabhängige Quellen und Referenzen
[1] Mono-Projektdokumentation: Mono-Projekt: Plattformübergreifendes Open-Source-.NET-Framework
[2] Linux-Grafikarchitektur: X.Org Foundation: X11 Windowing System Architecture