Visual Studio一直说我有一个错误,我没有正确的“使用”,但我做到了

时间:2012-05-30 05:22:55

标签: c# visual-studio-2010

我有using System.Management;

但是,我一直收到这个错误:

  

名称空间'System.Management'中不存在类型或命名空间名称'ManagementClass'(您是否缺少程序集引用?)

我两次得到那个错误。

我也遇到了这个错误:

  

名称空间'System.Management'中不存在类型或命名空间名称'ManagementObjectCollection'(您是否缺少程序集引用?)

为什么会这样?

如果有帮助,这是我的代码(完全取自StackOverflow,但仍然是我正在使用的代码)

private string identifier(string wmiClass, string wmiProperty)
    //Return a hardware identifier
    {
        string result = "";
        System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
        System.Management.ManagementObjectCollection moc = mc.GetInstances();
        foreach (System.Management.ManagementObject mo in moc)
        {

            //Only get the first one
            if (result == "")
            {
                try
                {
                    result = mo[wmiProperty].ToString();
                    break;
                }
                catch
                {
                }
            }

        }
        return result;
    }

    private void getButton_Click(object sender, EventArgs e)
    {
        string modelNo = identifier("Win32_DiskDrive", "Model");
        string manufatureID = identifier("Win32_DiskDrive", "Manufacturer");
        string signature = identifier("Win32_DiskDrive", "Signature");
        string totalHeads = identifier("Win32_DiskDrive", "TotalHeads");
    }

1 个答案:

答案 0 :(得分:3)

问题是Solution/{PROJECT}/References下没有引用DLL。右键单击References并选择“添加程序集”(或其他),然后转到.NET选项卡并找到System.Management

仅仅因为using语句并不意味着引用了DLL。

MSDN上有一个很好的指南。