2014-10-03 68 views
1

环境:Mac Book Pro/OS X版本10.9.5。 单声道版本3.8.0。编译器:VB.NET(vbnc)版本0.0.0.5943。 没有IDE。我试图从命令行编译一个应用程序。 我收到一个错误,它似乎编译器不接受LINQ表达式。 错误消息表示类似“Expecting End”,因为我的表达式在循环中。有问题的行是这样的:Mac + Mono + VB + LINQ =未编译

Dim query = From x In y

其中y是一个数组。我试着显式引用System.Core.dll,System.Xml.Linq.dll和使用-optioninfer +标志,但它没有解决问题。 看来编译器根本没有得到任何扩展方法。它甚至不认识数组的扩展方法Count。

请问有人能指点我正确的方向吗?顺便说一下,我不能安装IDE,我应该使用命令行编译器。

回答

2

Mono project page for Visual Basic表示它旨在与VB 8兼容。由于Linq是在第9版中引入的,因此您可能会运气不佳。

+0

感谢您的回答,但链接页面提到Mono 1.2.3。我使用的是3.8.0。也许LINQ已经被支持了?我看到那里有一个System.Xml.Linq.dll文件。 – user1577561 2014-10-03 17:17:17

+0

@ user1577561库存在(与c#使用相同的库),但编译器不支持它。请参阅https://github.com/mono/mono-basic/blob/master/vbnc/vbnc/source/Enums/Enums.vb以获取编译器源代码中所有关键字的列表。它不包含任何LINQ关键字。 – cobbal 2014-10-03 17:59:47

+0

啊...现在我明白了。谢谢,朋友。 – user1577561 2014-10-03 19:10:47