我尝试使用 System.Management 命名空间中的几个类获取一些系统信息,但尝试使用 ManagementObjectSearcher 或 ManagementObjectCollection 收集项结果在 FileNotFoundException 。
下面我将介绍有问题的代码:
public static string GetProcessorID() {
var processorID = "";
var query = "SELECT ProcessorId FROM Win32_Processor";
var oManagementObjectSearcher = new ManagementObjectSearcher(query);
foreach (var oManagementObject in oManagementObjectSearcher.Get()) {
processorID = (string)oManagementObject["ProcessorId"];
break;
}
return processorID;
}
当尝试从集合中获取下一个项目时,会在'foreach'行中抛出异常。
在具有 windows xp professional sp3 的计算机上观察到 visual studio 2008 professional 。我想它可以是我的cpu,它是 intel双核 - 在具有相似环境的其他机器上的相同程序完美无缺。这些机器之间的主要区别是cpu。
其他参数如MACAddress和SystemDrive提供了同样的问题,这表明它可能是软件问题(WMI?)
这里描述了非常类似的问题 - > http://news.softpedia.com/news/XP-SP3-Win32-Processor-Class-Labels-Intel-Core-2-Duo-CPUs-Incorectly-90201.shtml但是解决方案没有解决它。
有什么想法吗?提前谢谢。
的Dawid
答案 0 :(得分:0)
我知道我的答案有点晚了,但是因为这是我搜索我的错误时谷歌的第一次打击,我想我会给我解决这个主题的链接。
System.Management.ManagementException: Not found
基本上你要做的就是用WMI解决你的错误。
答案 1 :(得分:-1)
我有同样的问题。 并且它不会在'word中而是在
上崩溃oManagementObjectSearcher.Get().
检查堆栈跟踪:
System.IO.FileNotFoundException - Nie można odnaleźć określonego modułu. (Wyjątek od HRESULT: 0x8007007E)
Stack trace:
w System.Management.ThreadDispatch.Start()
w System.Management.ManagementScope.Initialize()
w System.Management.ManagementObjectSearcher.Initialize()
w System.Management.ManagementObjectSearcher.Get()
[...]
当我移动到我的电脑/右键单击/管理/服务/ WMI配置/右键单击/属性 - >我收到消息“Win32:找不到模块”
时出错