是否可以使用Mono(Mac)运行LINQPad

时间:2010-09-10 02:36:51

标签: linux docker mono linqpad windows-subsystem-for-linux

我在Snow Leopard中安装了Mono 2.6.7并想运行LINQPad。我已经启动LINQPad(v2.21)但是立即得到一个FileNotFoundException。有没有人能够成功运行它?

我认为异常是因为它试图读取/写入配置文件或其他东西,但希望有一些解决方法。

感谢。

修改: 使用“Olive”构建Mono(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   (当前的Mono版本是2.6.7,但这显然可能不同)

编辑:不幸的是,现在我在运行LINQPad时遇到了这个问题:

  

警告**:上课   System.Windows.Resources.AssemblyAssociatedContentFileAttribute   无法加载,在LINQPad中使用不能加载,在LINQPad中使用

编辑: Xamarin工作簿最近发布了1.0(https://developer.xamarin.com/workbooks/),是我在macOS上看到的最接近LINQPad的。

编辑(2017年9月): 这仍然是推测性的!

使用Docker和Windows子系统Linux(WSL)可以运行大多数Windows应用程序(包括GUI应用程序):

Animated demo of cmd.exe running on Ubuntu

请参阅https://blog.jessfraz.com/post/windows-for-linux-nerds/上的博客文章,了解详细演练。

4 个答案:

答案 0 :(得分:33)

LINQPad在Mono中不起作用主要是因为它依赖于ActiPro的SyntaxEditor,它执行一些Win32互操作。 LINQPad本身也做了一些互操作。

LINQPad的早期原型使用TextBox而不是语法编辑器 - 这可能是针对Mono测试的。

答案 1 :(得分:4)

我还希望让LINQpad在OSX下运行,并且在使用Joe的上述链接0.92版本之后发现它似乎不可能。

虽然应用程序在mono下启动并显示熟悉的LINQPad屏幕,但如果您尝试运行任何查询,它只会崩溃并消失。

原因是在LINQPad版本中似乎有一些WebBrowser控件的使用,并且根据终端窗口中显示的错误,似乎需要libgluezilla。通过对libgluezilla进行一些挖掘,我看到一些来自Mono开发者的回复说它不是,也不会用于mac,这是一种耻辱。

参考错误:

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

答案 2 :(得分:1)

如果你看一下Mono文档,它说LINQPad是他们用来测试WinForms实现的应用程序之一:

Winforms Samples - Mono

那就是说,我必须想象他们已经能够让它自己发挥作用。

答案 3 :(得分:1)

LinqPad可能是我完全迁移到Mac进行开发时想念的一件事,我不会运行VM只是为了访问它。如上所述,Xamarin Workbooks实际上是macOS的相当不错的替代品。

Iterating regex matches 参考:https://stackoverflow.com/a/8480659/132599