Nig*_*ker 6 .net c# system.management
我正在运行以下代码:
System.Management.ManagementClass wmiNetAdapterConfiguration = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration");
System.Management.ManagementObjectCollection wmiNetAdapters = wmiNetAdapterConfiguration.GetInstances();
Log.logInfo("Net adapters:" + wmiNetAdapters.get_Count());
Run Code Online (Sandbox Code Playgroud)
在一些机器上它是好的,在一些机器上我得到以下错误:
System.Management.ManagementException:未找到
调用堆栈:
System.Management.ManagementException: Not found
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementScope.InitializeGuts(Object o)
at System.Management.ManagementScope.Initialize()
at System.Management.ManagementObject.Initialize(Boolean getObject)
at System.Management.ManagementClass.GetInstances(EnumerationOptions options)
at System.Management.ManagementClass.GetInstances()
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?
Cod*_*ray 11
System.Management命名空间提供的功能取决于WMI(Windows Management Instrumentation)服务.
我怀疑WMI服务尚未在抛出该异常的系统上启动.
出于疑难解答的目的,您可以使用"管理工具"→"服务"实用程序进
如果事实证明是这种情况,您可以将代码包装在try- catch块中并使用ServiceController该类来启动和停止相应的服务.
小智 8
我遇到了类似的问题,因为 WMI 文件以某种方式损坏了。
\n使固定:
\n这应该可以解决 WMI 文件损坏问题。
\n