2015-10-15 48 views
2

我想在Ubuntu 14.04.3 LTS上使用Mono,以便使用C#語言編寫一些客戶端 - 服務器應用程序。 我遵循this教程,安裝了Mono需要編譯和運行Ubuntu上的C#.NET應用程序的所有內容。 然後,我根據this教程安裝了MonoDevelop 5.9.6,它實際上安裝了三個軟件包:monodevelop,monodevelop-nunit,monodevelop-versioncontrol(我跳過數據庫包,因爲我現在不需要它)。Ubuntu上的C#和MonoDevelop - 缺少系統庫內容

我在MonoDevelop中創建了簡單的控制檯應用程序,現在我試圖使用一些引用System.Net.Sockets(和其他)系統庫類的代碼。 Mono安裝後,我在項目的參考文獻中添加了System.Net.dll,位於usr/lib/mono/4.5之下。 顯然,我得到了這樣的錯誤,我不能編譯我的應用程序:

Error CS0234: The type or namespace name `Sockets' does not exist in the namespace `System.Net'. Are you missing an assembly reference? (CS0234) (Communicator.Presentation) 

我完全不能得到什麼是怎麼回事。我通過網絡和論壇搜索,找不到問題的答案。

我也提供從我的電腦與MonoDevelop打開的屏幕截圖,您可以看到System.Net引用已添加到項目中,但內部類不可見。當我輸入「System.Net」時。它只是讓我選擇「System.Net.IPEndPointCollection」,並沒有別的: screenshot from MonoDevelop

編輯: 什麼也奇怪的是,如果我在「集結瀏覽器的MonoDevelop是System.net參考雙擊「窗戶,我可以看到這個內容‘System.net.dll’,特別是的System.Net.Sockets目前有...: enter image description here

回答

2

需要System.Net.dll將其包含在內,因爲您正在尋找System.Net.Sockets命名空間它存在於ide System.dll。所以你需要添加對System.dll的引用。有關更多詳細信息,請參閱此link

所以,你需要以下參考:

使用系統;

我也附加我的Ubuntu與MonoDevelop快照。在這些快照中,您可以看到我沒有任何對System.Net.dll的引用,在我的項目引用中,只需要System.dll。

System.Net.Sockets reference

System.dll reference

希望這有助於。

+0

它幫助,謝謝你非常明確的答案:)。 – DawidSibinski