Frage

Ich habe angefangen, mit Mono zu spielen, im Moment hauptsächlich zum Spaß.Ich habe zuerst versucht, das Visual Studio-Plugin zu verwenden, das ein CSPROJ in ein Makefile konvertiert, aber es schien keine Version für Visual Studio 2005 verfügbar zu sein.Ich habe auch über die MonoDevelop-IDE gelesen, die sich gut anhörte.Leider gibt es dafür kein vorgefertigtes Windows-Paket.Ich habe versucht, einige Anweisungen zum Erstellen zu befolgen, indem ich Abhängigkeiten von anderen halbbezogenen Installationen kombiniert habe.Es hat nicht funktioniert, aber das liegt wahrscheinlich daran, dass ich ein Windows-orientierter Typ bin und „makefile“ kaum buchstabieren kann.

Meine Frage lautet also:Was ist die energieeffizienteste Möglichkeit, eine monobasierte Entwicklung unter Windows auszuprobieren?

War es hilfreich?

Lösung

Ich würde empfehlen, sich den VMWare Player zu besorgen und das kostenlose Image der Mono-Entwicklungsplattform zu verwenden, das auf der Website bereitgestellt wird.

Laden Sie Mono herunter

Die Einrichtungszeit dafür wird minimal sein, und Sie können Ihren Code auch in .NET zum Laufen bringen und sich dann auf Portierungsprobleme konzentrieren, ohne den großen Aufwand beim Wechseln der Maschine und dergleichen.Mit den VMWare Player-Tools können Sie die Dateien einfach per Drag & Drop kopieren, um sie zu kopieren.

Ich möchte einige meiner .NET-Apps Mono-kompatibel machen, und diesen Weg werde ich hier in Kürze einschlagen.

Andere Tipps

Ein Jahr später hat sich die Antwort darauf stark verändert.Sie können es jetzt verwenden MonoDevelop unter Windows, oder wenn Sie mit Visual Studio vertrauter sind, können Sie das verwenden Visual Studio-Tools um alles zu schreiben und dann in VM zu debuggen, um sicherzustellen, dass es unter Linux funktioniert.

@Chris Ich habe herausgefunden, dass Visual Studio die beste IDE für die Entwicklung gegen .NET ist – ich denke, der beste Weg, Mono ins Visier zu nehmen, besteht darin, einfach in Visual Studio unter Windows zu entwickeln und zu bauen und dann diese Binärdateien einfach direkt unter Linux (oder was auch immer) auszuführen andere Mono-Plattform, die Sie verwenden).Wenn die Lizenzierung ein Problem darstellt, gibt es kostenlose Versionen von Visual Studio.Wenn Sie unter Linux entwickeln, ist Eclipse mit einem Mono-Plugin wahrscheinlich die beste Software (siehe Das Mono-Handbuch – Eclipse für Installationsanweisungen), aber bedenken Sie, dass es nicht annähernd die Menge an Funktionen oder die Sprachintegration bietet, die Visual Studio bietet.

@modesty Mono ist eine Open-Source-Implementierung des .NET-Frameworks eines Drittanbieters, mit der Sie .NET-Anwendungen auf anderen Plattformen als Windows ausführen können.

Eines der besten Dinge, die Sie tun können, wenn Sie mit Visual Studio für Mono entwickeln, ist, sich MoMA zu besorgen http://www.mono-project.com/MoMA.Dadurch wird eine beliebige Anzahl der von Ihnen erstellten Assemblys überprüft und ein Bericht erstellt, der potenzielle Mono-Probleme aufzeigt (z. B. Methoden, die nicht in der Mono-Bibliothek implementiert sind).Es kann über eine GUI oder die Befehlszeile zur Verwendung in automatisierten Builds ausgeführt werden.

Miguel hatte einen Beitrag über das Debuggen von Mono unter Linux mit Remote-Debugging unter Visual Studio.Dies könnte etwas sein, das Sie untersuchen möchten ... Verwenden von Visual Studio zum Debuggen von Mono.Es gibt auch ein neues Projekt namens Kleeblatt dessen Ziel es ist, das Debuggen von Mono unter Windows in Visual Studio zu ermöglichen.

Es gibt einfach keinen Grund dazu bauen Ihre App mit Mono;Der Sinn der .Net CLR besteht darin, dass die kompilierte Ausgabe plattformübergreifend ist.

Sie können es also einfach mit Ihrer bevorzugten IDE erstellen (und wenn Sie IDEs mögen, ist die von Microsoft am besten geeignet) und dann prüfen es auf Mono.Selbst wenn Sie Mono unter Windows zum Laufen bringen, wäre das kein sehr guter Test für die Portabilität Ihrer App:Was ist, wenn Ihre App dumme Dinge tut, wie zum Beispiel anzunehmen, dass Dateinamen Backslashes enthalten oder dass ein Ordner namens „Programme“ etwas Besonderes ist?Der beste Weg, Portabilitätstests durchzuführen, besteht darin, Ihre App tatsächlich auf der Zielplattform zu testen.

Und das geht ganz einfach mit einem Linux-VMware-Player wie dem hier http://www.go-mono.com/mono-downloads/download.html.

Persönlich kompiliere ich einfach in Visual Studio 2008, als ob es für .Net 2.0 wäre, und führe es dann in Mono aus (VS2008 unter Windows in einer VirtualBox, Mono unter OSX).Alle Probleme treten sowieso zur Laufzeit auf, sodass das System einwandfrei funktioniert.

Das habe ich gerade gefunden sehr neuer Link, was erstaunlich ist und Ihnen zeigt, wie Sie Visual Studio 2008 für Mono einrichten.

Gleichzeitig einrichten Mono auf OpenSuse oder Ubuntu in einer VirtualBox (Suns Produkt) ist einfach, schmerzlos und zwingt Sie nicht dazu, die Plattform aufzugeben, auf der Sie normalerweise leben.

Das ist für Ihre Frage nicht relevant, aber ich möchte anmerken, dass ich gerade erst mit Mono angefangen habe und erstaunt bin, wie viel von .Net implementiert ist, einschließlich eines Großteils der Winforms-Sachen.

Mein erster Instinkt wäre das eher wenig hilfreiche „Linux installieren“.Du bist etwas gegen den Strom schwimmen zu versuchen und in Mono unter Windows zu entwickeln.Die Installation von GTK und allem ist meiner Erfahrung nach etwas mühsam.

Wenn Sie Lust haben, Linux zu verwenden, dann könnten Sie das tun Versuchen Sie es mit Ubuntu

Ansonsten:

Hier gibt es einige Informationen: http://www.mono-project.com/Mono:Windows und es scheint das Cygwin Toolchain könnte die beste Wahl sein.Ich glaube leider nicht, dass Sie Makefiles vermeiden können.Ich habe ein etwas expliziteres Tutorial von gefunden O'Reilly.

@Bescheidenheit:

Mono bietet die notwendige Software zum Entwickeln und Ausführen von .NET-Client- und Serveranwendungen unter Linux, Solaris, Mac OS X, Windows und Unix.Gesponsert von Novell (http://www.novell.com) verfügt das Open-Source-Projekt Mono über eine aktive und enthusiastische beitragende Community und ist in der Lage, die führende Wahl für die Entwicklung von Linux-Anwendungen zu werden.
– Von der Mono-Site.

Das Eclipse-Plugin für Mono ist tot.Auf Linux-Nutzung MonoDevelop oder X-Entwicklung wenn Sie guten kommerziellen Support mögen (obwohl MonoDevelop ihnen in Bezug auf die Funktionen schnell näher kommt).Unter Windows SharpDevelop verfügt über benutzerdefinierte MSBuild-Ziele zum Kompilieren des Codes gegen Mono.

Da sich Mono und MonoDevelop schnell ändern, stellen Sie sicher, dass Sie die neuesten veröffentlichten Versionen verwenden, auch wenn diese noch nicht als stabil gekennzeichnet sind (z. B.(Versionen, die mit Standard-Ubuntu ausgeliefert werden, sind furchtbar veraltet.)

Das VMWare-Image ist eine großartige Möglichkeit, mit dem Testen von Windows-entwickeltem Code unter Linux zu beginnen.Fassen Sie Cygwin nicht an, es sei denn, Sie sind bereits sehr vertraut damit.

Die Idee, MonoDevelop zu verwenden, gefiel mir vor allem, um sicherzustellen, dass meine Sachen mit den Mono-Laufzeiten funktionieren.Ich denke, es wäre auch möglich, mit msbuild verrückt zu werden und einige benutzerdefinierte Ziele zu schreiben, die versuchten, gegen Mono zu bauen, aber das emuliert im Grunde die Funktionalität des inzwischen nicht mehr existierenden Plug-Ins, von dem ich annehme, dass es nicht trivial zu bauen war.Ich habe zwar wenig Erfahrung mit Cygwin und tippe gerne den ganzen Tag „configure“ und „make“, aber wenn dabei ein Problem auftritt, bin ich praktisch am Arsch.Ich werde wahrscheinlich noch einmal versuchen, mit all dem herumzuspielen, aber wenn ich mehr als ein paar Stunden brauche, um eine Möglichkeit zu finden, bequem mit den Mono-Laufzeiten zu vergleichen, werde ich wahrscheinlich einfach aufgeben.

Ich werde die Eclipse-Idee ausprobieren.Ich verwende das für Java, damit ich das C#-Zeug vielleicht zum Laufen bringen kann.Wir werden sehen...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top