2010-09-10 17 views
26

Ich habe Mono 2.6.7 in Snow Leopard installiert und möchte LINQPad ausführen. Ich habe LINQPad (v2.21) zu starten, aber sofort eine FileNotFoundException bekommen. Hat jemand es erfolgreich ausgeführt?Ist es möglich, LINQPad mit Mono (Mac) zu laufen

Ich nehme an, die Ausnahme ist, weil es versucht, eine Konfigurationsdatei oder etwas zu lesen/schreiben, aber hoffentlich gibt es eine Umgehungslösung.

Danke.

Edit: Gebäude Mono mit "Olive" (erforderlich für WPF):

Im Terminal:

svn co svn://anonsvn.mono-project.com/source/trunk/olive 
cd /Users/(your user name)/olive 
./configure --prefix=/Users/(your user name)/olive --with-glib=embedded 
make 
make install 

navigieren Jetzt im Finder zu:

/Users/(Ihr Benutzername)/olive/lib/mono/gac

Kopieren

die Ordner (zB: PresentationCore, PresentationFramework) in:

/Library/Frameworks/Mono.framework/Versions/2.6.7/lib/mono/gac (Current Mono-Version ist 2.6.7, aber dies kann natürlich anders sein)

Edit: Leider jetzt erhalte ich dies, wenn LINQPad ausgeführt wird:

WARNUNG **: Die Klasse S ystem.Windows.Resources.AssemblyAssociatedContentFileAttribute konnte nicht nicht geladen wird, in LINQPad verwendet werden, in LINQPadcould geladen wird, verwendet werden

Edit: Xamarin Workbooks vor kurzem 1.0 veröffentlicht (https://developer.xamarin.com/workbooks/) und ist in der Nähe ich gesehen habe LINQPad auf macOS.

Edit (September 2017): Dies ist immer noch spekulativ!

Lauf meisten Windows-Anwendungen (einschließlich GUI-Anwendungen) könnte möglich sein, mit Docker und Windows Subsystem für Linux (WSL):

Animated demo of cmd.exe running on Ubuntu

Siehe Blogeintrag bei https://blog.jessfraz.com/post/windows-for-linux-nerds/ für sich einen detaillierten Überblick.

+0

Können Sie die Ausnahmen zu erhalten? Wenn ja, drucke sie hier aus. –

+0

Ich sehe im Terminal einige weitere Informationen: – kwcto

+0

** (/Users/ifwdev/Downloads/LINQPad.exe:1775): WARNUNG **: Die folgende Assembly, auf die von /Users/ifwdev/Downloads/LINQPad.exe verwiesen wird, konnte nicht geladen werden : Montage: PresentationCore (assemblyref_index = 11) Version: 3.0.0.0 Public Key: 31bf3856ad364e35 – kwcto

Antwort

26

LINQPad funktioniert in Mono hauptsächlich nicht, weil es auf ActiPro SyntaxEditor beruht, der einige Win32-Interop ausführt. LINQPad selbst macht auch einige Interop.

Ein früherer Prototyp von LINQPad verwendete eine TextBox anstelle eines Syntaxeditors - dies könnte das sein, was gegen Mono getestet wurde.

+2

Nun, ich schätze, du weißt es besser als jeder andere. Zumindest habe ich zumindest ein bisschen über Mono gelernt. Danke Joe ... – kwcto

+0

Joe: Denkst du, dass eine ältere Version funktionieren könnte? (Siehe Justins Kommentar) – kwcto

+0

Ja - ich erwarte eine sehr alte Version würde funktionieren (0.9x). Leider habe ich diese Version nicht mehr in der Datei. –

1

Wenn Sie an der Mono-Dokumentation suchen, heißt es, dass LINQPad eine der Anwendungen ist sie nutzen, um ihre WinForms Implementierung zu testen:

Winforms Samples - Mono

das gesagt ist, muss ich mir vorstellen, dass sie waren in der Lage, es selbst zur Arbeit zu bringen.

+0

Ich habe das gesehen, aber leider funktioniert es nicht für mich. – kwcto

+0

@ifwdev - Ich habe gerade die Ausnahme gesehen, die Sie gepostet haben. Es sieht so aus, als ob die neueren Versionen von LINQPad WPF benötigen (welches Mono nicht implementiert). Sie können versuchen, eine vorherige Version von LINQPad herunterzuladen. –

4

Ich wollte auch LINQpad unter OSX laufen und haben nach der Verwendung der oben verlinkten 0.92-Version von Joe gefunden, dass es nicht möglich scheint.

Obwohl die App unter Mono startet und den vertrauten LINQPad-Bildschirm anzeigt, wenn Sie versuchen, eine Abfrage auszuführen, stürzt sie einfach ab und verschwindet.

Grund ist, dass anscheinend ein WebBrowser-Steuerelement in dieser LINQPad-Version verwendet wird und entsprechend den im Terminalfenster angezeigten Fehlern scheint es, dass libgluezilla erforderlich ist. Nachdem ich etwas über libgluezilla gegraben habe, habe ich ein paar Antworten von Mono Devs gesehen, dass es nicht für Mac verfügbar ist und auch nicht, was schade ist.

Fehler Referenz:

mono linqpad.exe 
libgluezilla not found. To have webbrowser support, you need libgluezilla installed