2014-10-03 70 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