2013-03-25 3 views
0

Недавно я создал этот код для приложения 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.

+0

Это может помочь вам начать работу с сетевым API WinRT: http://stackoverflow.com/questions/10336521/query-local-ip-address/10456778#10456778 – Phil

ответ

1

GetAllNetworkInterfaces не доступен для приложений Windows Store (метро). MSDN Documentation указывает, что для приложений Windows Store доступен только метод GetIsNetworkAvailable. Зеленый портфель указывает, доступен ли он для приложений Windows Store.

Я не знаю ни одного API, доступного для приложений Windows Store, которые могут предоставить вам информацию, которую вы ищете.

+0

Есть ли обходной путь для этого? – tylerbhughes

+0

@RandomlyKnighted К сожалению, я думаю, что нет. – vcsjones

+0

Обнаружен обходной путь. – tylerbhughes