2010-09-10 2 views
26

Я установил Mono 2.6.7 в Snow Leopard и хотел бы запустить LINQPad. Я получил LINQPad (v2.21), но сразу же получил исключение FileNotFoundException. Кто-нибудь смог запустить его успешно?Возможно ли запустить LINQPad с Mono (Mac)

Я предполагаю, что исключение связано с тем, что он пытается читать/писать файл конфигурации или что-то в этом роде, но, надеюсь, существует некоторое обходное решение.

Спасибо.

Edit: Строительство Mono с "Olive" (требуется для WPF):

В терминале:

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 

Теперь перейдите в Finder, чтобы:

/Users/(ваше имя пользователя)/olive/lib/mono/gac

Скопируйте эти папки (например: PresentationCore, PresentationFramework) в:

/Library/Frameworks/Mono.framework/Versions/2.6.7/lib/mono/gac (Current Mono версии 2.6.7, но это, очевидно, могут быть разными)

Edit: К сожалению, теперь я получаю это при запуске LINQPad:

ПРЕДУПРЕЖДЕНИЕ **: класс S ystem.Windows.Resources.AssemblyAssociatedContentFileAttribute не может быть загружен, используется в LINQPadcould не загружен, используется в LINQPad

Edit: Xamarin Workbooks недавно выпустила 1,0 (https://developer.xamarin.com/workbooks/) и является ближайшим я видел в LINQPad на macOS.

Edit (сентябрь 2017): Это еще спекулятивная!

Запуск большинства приложений для Windows (включая GUI приложений) может быть возможным с Докер и Windows, Subsystem для Linux (WSL):

Animated demo of cmd.exe running on Ubuntu

Посмотреть сообщение в блоге на https://blog.jessfraz.com/post/windows-for-linux-nerds/ для подробного пошагового.

+0

Вы можете получить подробную информацию исключений? Если так, напечатайте их здесь. –

+0

Я вижу в терминале дополнительную информацию: – kwcto

+0

** (/Users/ifwdev/Downloads/LINQPad.exe:1775): ПРЕДУПРЕЖДЕНИЕ **: Следующая сборка, на которую ссылаются /Users/ifwdev/Downloads/LINQPad.exe, не может быть загружена : Ассамблеи: PresentationCore (assemblyref_index = 11) Версия: 3.0.0.0 Public Key: 31bf3856ad364e35 – kwcto

ответ

26

LINQPad не работает в Mono в первую очередь потому, что он использует SyntaxEditor от ActiPro, который выполняет некоторые Win32-взаимодействия. LINQPad сам также выполняет некоторые взаимодействия.

Ранний прототип LINQPad использовал TextBox вместо редактора синтаксиса - это может быть то, что было протестировано против Mono.

+2

Ну, я думаю, вы бы знали лучше всех. По крайней мере, я немного узнал о Моно. Спасибо Joe ... – kwcto

+0

Joe: Как вы думаете, может ли работать более старая версия? (см. комментарий Джастина) – kwcto

+0

Да - Я ожидаю, что ОЧЕНЬ старая версия будет работать (0.9x). К сожалению, у меня больше нет этой версии в файле. –

1

Если вы посмотрите документацию Mono, он говорит, что LINQPad является одним из приложений, которые они используют, чтобы проверить их WinForms реализация:

Winforms Samples - Mono

Тем не менее, я должен предположить, что они были в состоянии заставить его работать самостоятельно.

+0

Я видел это, но, увы, это не работает для меня. – kwcto

+0

@ifwdev - Я только что видел исключение, которое вы отправили. Похоже, что для новых версий LINQPad требуется WPF (который Mono не реализует). Возможно, вы захотите попробовать загрузить предыдущую версию LINQPad. –

4

Я также хотел, чтобы LINQpad работал под OSX и нашел после использования вышеупомянутой версии 0.92 от Joe, что это не представляется возможным.

Хотя приложение запускается под моно и отображает знакомый экран LINQPad, если вы попытаетесь запустить любой запрос, он просто сработает и исчезнет.

Причина в том, что в этой версии LINQPad используется некоторое использование элемента управления WebBrowser, и в соответствии с ошибками, отображаемыми в окне терминала, было бы очевидно, что требуется libgluezilla. От некоторых копаний в libgluezilla я видел несколько ответов от разработчиков Mono, что это не так и не будет доступно для mac, что является позором.

Ошибка для справки:

mono linqpad.exe 
libgluezilla not found. To have webbrowser support, you need libgluezilla installed 
Смежные вопросы