到目前爲止,我一直在努力得到MbnInterfaceManager
工作(見hresult from IMbnInterfaceManager::GetInterfaces when no MBN device exists),所以不是我建立和調試從Visual Studio 2015年中,在C#中執行此WMI查詢,沒有任何問題的應用程序(另見Win32_PerfFormattedData_Tcpip_NetworkInterface
documentation):如何確定Windows 7,8.1和10上的帶寬?
string query = "SELECT * FROM Win32_PerfRawData_Tcpip_NetworkInterface";
ManagementObjectSearcher moSearch = new ManagementObjectSearcher(query);
ManagementObjectCollection moCollection = moSearch.Get();
但是當我將應用程序部署到Windows 8.1,我收到此錯誤每次執行查詢時:
System.Management.ManagementException: Invalid query
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()
有沒有人對如何解決這個問題有什麼建議?我怎樣才能部署一個應用程序,以便它能夠使用這樣的查詢?
UPDATE:
請注意,我可以從Visual Studio 2015年中在Windows 7或Windows 8.1完成構建並運行上面的代碼(如較大的WPF應用程序的一部分),我可以部署同樣的應用程序使用ClickOnce到Windows 7上運行成功。出於某種原因,當我在Windows 8.1上使用ClickOnce部署此應用程序時,我收到了Invalid query
消息。