Mono hat seine Unterstützung für die Ahead-of-Time-Kompilierung (AOT) bis zu dem Punkt erheblich verbessert, an dem Sie praktisch alle CIL-Anwendungen statisch kompilieren können .
Ob das Ganze eine gute Idee ist, hängt ganz von der Anwendung und Ihren Einschränkungen ab.
Zum Beispiel liefert Novell nun MonoTouch, eine CLI-Implementierung, die vollständig AOT kompiliert und verlinkt ist, um .Net-Anwendungen (nicht nur Spiele) auf dem iPhone gegen das CocoaTouch-Framework laufen zu lassen.
Dieselben AOT-Techniken können verwendet werden, um eine Winforms-Anwendung zu kompilieren, für die weder die .NET- noch die Mono-Laufzeitumgebung erforderlich ist. Es gibt eine Menge von Performance-Kompromissen (sowohl positive als auch negative) in Bezug auf AOT, so dass ich ohne die Due Diligence nicht vorwärts gehen würde.
Edit:
Als Antwort auf John Saunders' Fragen "warum nicht einfach es für sie installieren?". Das bringt einen Grund, warum Sie AOT Kompilierung benötigen. Bootstrappers.
Um alles zu installieren, müssen Sie eine ausführbare Datei ausführen. Sie können entweder eine MSI verteilen (die implizit msiexec.exe startet) oder Sie können eine Exe verteilen. MSI, obwohl funktional, ist eine ziemlich schreckliche Entwicklererfahrung. So können Sie Ihren Bootstrapper mit .NET erstellen (AOT kompiliert die Laufzeitabhängigkeit beseitigen), die vor der Installation Ihrer App die notwendigen Voraussetzungen (wie z. B. .NET) installiert.
Darüber hinaus müssen einige Unternehmen möglicherweise herunterladbare ausführbare Dateien bereitstellen, bei denen Benutzer nichts installieren müssen (still oder anderweitig).
Noch etwas: Die Installation von .NET erfordert Administratorrechte. AOT kann Ihnen erlauben, diese Anforderung für Ihre Anwendung zu umgehen.
Noch einmal, ob davon eine gute Idee ist, hängt vollständig von der Anwendung und von Ihren Einschränkungen ab.
Ich frage mich, wer diese Frage abstimmen würde. Statisch wäre die Laufzeit inklusive groß. –
Es scheint, als würden einige Fragen aus keinem offensichtlichen Grund abgelehnt, die Leute, die das tun, hinterlassen keinen Kommentar, so dass wir uns die Köpfe kratzen. –
Was ist los mit der Installation von .NET für sie? Fügen Sie es in das Installationsprogramm ein. –