C# GetAllNetworkInterfaces()引发异常

C# GetAllNetworkInterfaces()引发异常,c#,android,networking,mono,xamarin.android,C#,Android,Networking,Mono,Xamarin.android,在Mono for Android中,我试图在本地网络中获取设备的所有IP地址 我不介意环回,但我对呼叫DNS不感兴趣 最好的办法似乎是打电话给 using System.Net.NetworkInformation; NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); …除了它抛出 System.EntryPointNotFoundException:getifaddrs 有什么建议吗?不幸的是

在Mono for Android中,我试图在本地网络中获取设备的所有IP地址

我不介意环回,但我对呼叫DNS不感兴趣

最好的办法似乎是打电话给

using System.Net.NetworkInformation;

NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
…除了它抛出

System.EntryPointNotFoundException:getifaddrs


有什么建议吗?

不幸的是,这是Android Mono中已知的错误。错误报告可用。

如果您只在Android上使用Mono,您可以尝试以下代码来获取每个IP:

Java.Util.IEnumeration networkInterfaces = NetworkInterface.NetworkInterfaces;
while(networkInterfaces.HasMoreElements) {
    Java.Net.NetworkInterface netInterface = (Java.Net.NetworkInterface)networkInterfaces.NextElement();
    Console.WriteLine(netInterface.ToString());
}
输出:

[lo][1][/::1%1%1][/127.0.0.1]
[dummy0][2]
[sit0][3]
[ip6tnl0][4]
[wlan0][5][/fe80::8e77:12ff:fe5a:6052%wlan0%5][/192.168.100.135]
[ppp0][6][10.0.0.1]


把所有异常的堆栈跟踪放进去,我认为你应该声明访问网络或网络状态的许可,或者类似的事情难以置信的是,它仍然在2013年10月的最新alpha版本中发生。2014年5月也发生了同样的事情。