Mono: .NET-Entwicklung mit Open Source

Sobald Mono installiert ist, kann man seine vielfältigen Tools nutzen, darunter.

  • mono – der Mono-Interpreter, der für die Ausführung von Anwendungen ohne Rückgriff auf JIT sorgt. Damit kann man Anwendungen von der Kommandozeile aus ausführen. Ein vergleichbares Tool fehlt im Microsoft .NET Framework.
  • mcs – der C#-Compiler, der dieselben Kommandozeilenoptionen akzeptiert wie der Microsoft C#-Compiler (csc.exe).
  • monodies – ein Tool, das es ermöglicht, Anwendungen in IL (Intermediate Language) zu disassemblieren. Er bietet ähnliche Funktionen wie Microsofts ildasm.exe.

Eine vollständige Liste aller Tools samt der Beschreibung der Kommandozeilenoptionen findet sich in der Mono-Dokumentation.

Erstellen einer Mono-Anwendung

Um zu sehen, wie einige dieser Tools funktionieren, soll im Folgenden eine einfache Mono-Anwendung erstellt werden. Der folgende Code gibt eine einfache Meldung auf der Konsole aus:

using System;
namespace Builder.Samples {
public class MonoDemo {
public static void Main(string[] args)
{Console.WriteLine("Immer einen Besuch wert: www.zdnet.de.");
} } }

Dieses einfache Beispiel sollte man als MonoDemo.cs speichern, sodass es mit Monos C#-Compiler wie folgt kompiliert werden kann:

mcs MonoDemo.cs

Das Ergebnis der Kompilation ist die Datei MonoDemo.exe. Die Dateierweiterung .exe ist auf einem Windows-System üblich, auf einem Linux-System allerdings eher ungewöhnlich. Daher wird das Beispiel am besten mit dem Kommandozeilen-Interpreter ausgeführt:

mono MonoDemo.exe

Der große Vorteil besteht jetzt darin, dass man die kompilierte Datei auf Windows, Linux, Mac OS X oder jeder anderen Plattform ausführen kann, auf der Mono oder das Windows .NET Framework läuft. Das liegt daran, dass der Mono-Compiler den Code in eine Zwischenstufe namens IL kompiliert.

Der Microsoft C#-Compiler macht es ganz genauso. Allerdings ist die Implementierung der .NET-Klassenbibliotheken von Mono nicht vollständig und bringt zusätzliche Mono-spezifische Bibliotheken mit sich. Folglich funktionieren nicht alle mit Mono entwickelten Anwendungen mit dem Microsoft .NET Framework und umgekehrt.

Diese Inkompatibilitäten sollte man bei der Entwicklung beachten und sich mit den Zielplattformen sowie mit künftigen Kompatibilitätsanforderungen vertraut machen. Außerdem sollte man regelmäßig einen Blick auf die Mono-Website werfen, um immer auf dem aktuellsten Stand zu sein, denn das Projekt wird laufend um neue Funktionen ergänzt (etwa Klassenbibliotheken). Außerdem sollte man sich regelmäßig auf den .NET-Seiten informieren.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Latrodectus: Gefährlicher Nachfolger von IcedID

Latrodectus, auch bekannt als BlackWidow, ist auch unter dem Namen LUNAR SPIDER bekannt.

1 Tag ago

Apple meldet Rekordumsatz im vierten Fiskalquartal

Die Einnahmen klettern auf fast 95 Milliarden Dollar. Allerdings belastet der Steuerstreit mit der EU…

5 Tagen ago

Baseus Bowie 30 Max: Erste Bluetooth-Kopfhörer mit Head-Tracking-Spatial-Audio

Neue Over-Headset-Kopfhörer von Baseus bieten Raumklang-Audio und unterdrücken Störgeräusche um rund 96 Prozent.

5 Tagen ago

Microsoft steigert Umsatz und Gewinn im ersten Fiskalquartal

Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…

5 Tagen ago

Bezahlkarten: Infineon verspricht weniger Plastikmüll

Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.

6 Tagen ago

Firefox 132 schließt elf Sicherheitslücken

Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…

6 Tagen ago