在 MonoDevelop 中针对 OS X 上的 Mono/.NET 4.0 创建一个 Mono 控制台应用程序,用作 TCP 套接字服务器。
以下代码行失败(您通常会在 Windows 端使用):
var interfaces = NetworkInterface.GetAllNetworkInterfaces();
...有错误System.DllNotFoundException: iphlpapi.dll
最好我能说这仅在 Windows 和 Linux 上受支持。但是,似乎还有另一种为 Mac 设计的方法:
System.Net.NetworkInformation.MacOsNetworkInterface.GetAllNetworkInterfaces();
虽然这似乎被 MonoDevelop 识别,但它无法编译并出现The type or namespace 'MacOsNetworkInterface' does not exist in the namespace 'System.Net.NetworkInformation'.
错误。已经引用了 System 和 System.Net。
我错过了什么?
编辑:发现当我在 MonoDevelop 中创建新的 C# 控制台应用程序时确实有效,但在现有项目( NetworkComms.netNetworkInterface.GetAllNetworkInterfaces()
)中不起作用- 它们的目标相同,Mono,.NET 4.0 具有相同的引用和v4 .0.0.0,有什么区别?System
System.Net