使用ManagementClass使用的AnyCPU / 64位应用程序会导致异常

时间:2014-05-09 13:09:38

标签: c# .net windows comexception

我正在开发一款应用。它使用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位应用程序中读取的数据库中。想法?

0 个答案:

没有答案