我最近爲我正在做的WPF應用程序創建了此代碼。我重用代碼的項目是Windows 8應用程序。代碼本身是相同的,所以我真的不知道可能是什麼問題。它們之間的唯一區別當然是應用程序和正在使用的.NET Framework。在WPF應用程序中,我的目標是.NET 3.0以及我使用.NET 4.5的Windows 8應用程序。網絡接口不包含「」的定義
可以這樣說,這是一個擴展方法:
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())
它會導致錯誤,指出在NetworkInterface中不存在GetAllNetworkInterfaces()。這是確切的錯誤:
Error 15 'System.Net.NetworkInformation.NetworkInterface' does not contain a definition for 'GetAllNetworkInterfaces'
是否有什麼,我不知道在Windows 8應用程序中重用WPF應用程序的代碼?
更新:使用ianainterfacetype我能解決一半的我的擴展方法,因爲我能夠告訴我們,如果他們是以太網,無線,或隧道。我仍在尋找一種方法來確定它們是否由VirtualBox或VMware創建。
對於那些想了解ianainterfacetype的人,你可以找到信息here。
這可能會幫助您開始使用WinRT的網絡API:http://stackoverflow.com/questions/10336521/query-local-ip-address/10456778#10456778 – Phil 2013-03-25 17:09:33