2015-10-15 55 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