📌 En un coup d’œil : tests .NET avec Mono sous Linux
| Outil de développement | Microsoft Visual Studio &C# (Windows Forms/GDI+) |
|---|---|
| Durée d’exécution cible | Mono Runtime (Framework .NET Open Source) |
| Système d’exploitation cible | Linux (système d’exploitation Debian / Ubuntu / Raspberry Pi) |
| Projet d’essai | Balle rebondissante (simulation physique de la gravité et des collisions) |
| Moteur de dessin graphique | System.Drawing et intégration Linux X11 |
| But | Vérifier la compatibilité binaire sans basculer le code entre deux systèmes d’exploitation |
Avant le .NET moderne, le moyen le plus populaire d’exécuter des applications Windows écrites en C# dans un environnement Linux consistait à utiliser le projet open source Mono.Ce didacticiel montre comment une simulation de balle en mouvement développée avec Visual Studio s’exécute sans erreur sous Linux.
Introduction : Architecture .NET multiplateforme et Mono
Le projet Mono, lancé sous la direction de Miguel de Icaza, a innové dans le monde du logiciel en portant le runtime .NET de Microsoft sur Linux et ses dérivés Unix.Dans ce guide, comment exécuter un fichier binaire (binaire .exe) compilé dans l’environnement Windows directement sous Linux est abordé avec une simulation pratique [1].
1. Formulaires Windows et simulation physique GDI+
L’implémentation de la balle rebondissante simule l’objet frappant les bordures de l’écran avec une double mise en mémoire tampon graphique et des boucles de minuterie :
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. Exécuter avec Mono dans un environnement Linux
Pour exécuter le fichier compilé dans le terminal Linux, il suffit de donner la commande suivante [2] :
sudo apt update && sudo apt install mono-complete
mono BouncingBallApp.exe
Mono traduit les appels System.Windows.Forms vers le gestionnaire de fenêtres X11, affichant de manière transparente l’image à l’écran.
Sources et références indépendantes
[1] Documentation du projet Mono : Projet Mono : multiplateforme, framework .NET open source
[2] Architecture graphique Linux : Fondation X.Org : Architecture du système de fenêtrage X11