我正在开发一款应用。它使用ANYCPU配置文件进行编译,因此我可以在32位和64位机器上运行它。
我正在尝试使用ManagementClass和ManagementObjectClass
检测各种系统信息每当我尝试访问此库时,我都会得到异常。
我的代码段如下:
string result = "";
System.Management.ManagementClass mc =
new System.Management.ManagementClass(wmiClass);
System.Management.ManagementObjectCollection moc = mc.GetInstances();
我得到的例外是
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
我已经阅读了大量文章,声明要使这项工作将配置更改为x86,并且可以在独立测试中使用。然而,这是具有依赖性的更大应用程序的一部分,而不是仅使其成为32位。
我很难相信这个.Net库只适用于32位应用程序。它有什么方法可以做我想做的事情?
我正在尝试的解决方法是使用我需要的功能生成一个32位包装应用程序的进程,并将结果转储到我将在64位应用程序中读取的数据库中。想法?