Недавно я создал этот код для приложения WPF, которое я делал. Проект, в котором я использую код, является приложением Windows 8. Сам код такой же, поэтому я не вижу, что может быть проблемой. Единственное различие между ними - это, конечно, приложение и используемая .NET Framework. В приложении WPF я предназначался для .NET 3.0, а для приложения Windows 8 я использую .NET 4.5.Сетевой интерфейс не содержит определения для ""
Как вы можете сказать, что это метод расширения:
public static bool isTunnel(this NetworkInterface adapter)
{
return adapter.NetworkInterfaceType == NetworkInterfaceType.Tunnel;
}
Ошибка дает для этого метода:
Error 3 'System.Net.NetworkInformation.NetworkInterface' does not contain a definition for 'NetworkInterfaceType' and no extension method 'NetworkInterfaceType' accepting a first argument of type 'System.Net.NetworkInformation.NetworkInterface' could be found (are you missing a using directive or an assembly reference?)
Error 4 The name 'NetworkInterfaceType' does not exist in the current context
В моем классе модели у меня аналогичный вопрос. На этой линии:
foreach (NetworkInterface adapter in NetworkInterface.GetAllNetworkInterfaces())
это вызывает ошибку о том, что GetAllNetworkInterfaces() не существует в NetworkInterface. Вот точная ошибка:
Error 15 'System.Net.NetworkInformation.NetworkInterface' does not contain a definition for 'GetAllNetworkInterfaces'
Есть ли что-то, что я не знаю о повторном использовании кода из приложения WPF в Windows 8 приложений?
Обновление: Использование ianainterfacetype Я смог исправить половину своих методов расширения, потому что я смог определить, были ли они Ethernet, Wireless или Tunnel. Я все еще ищу способ узнать, были ли они созданы VirtualBox или VMware.
Для тех, кто хочет узнать о ianainterfacetype, вы можете найти информацию here.
Это может помочь вам начать работу с сетевым API WinRT: http://stackoverflow.com/questions/10336521/query-local-ip-address/10456778#10456778 – Phil