ManagementObject类未显示在System.Management命名空间中

我正在尝试在我的Windows窗体中编写一些WMI,而ManagementObject正在为我提供 “无法找到类型或命名空间名称'ManagementObject'”错误 这是我的完整代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
using System.Security.Policy;
using System.Management;
using System.Management.Instrumentation;


namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {


            ManagementObject disk = new ManagementObject("Win32_LogicalDisk.DeviceID="C:"");
    
已邀请:
右键单击右侧的“引用”,然后手动添加“System.Management”。即使我将它包含在using语句中,我仍然必须这样做。一旦我做了,一切都很好。     
您是否添加了对System.Management程序集的引用?     
在Solution Explorer中,右键单击References,然后单击Add Reference ...并在Framework下,您应该激活System.Management框架。     
您需要向项目添加对System.Management.dll的引用。 您可以在不添加对System.Management.dll的引用的情况下查看System.Management.Instrumentation,因为它包含在不同的库中(System.Core.dll,它自动作为引用包含在内),但是您无法访问包含的其他类型通过该命名空间而不显式添加对System.Management.dll库的引用。     
我认为问题是
Win32_LogicalDisk.DeviceID="C:"
没有WMI对象。 尝试替换:
ManagementObject disk = new ManagementObject("Win32_LogicalDisk.DeviceID="C:"");
有:
ManagementObject disk = new ManagementObject("Win32_LogicalDisk");
然后逐步完成每个字段:
foreach (ManagementObject o in disk.Get()){
    //Do what ever you need here.... For example:  
    Console.WriteLine(o.ToString());
}
    
〜只需使用nuget manager添加System.management, 它对我有用! C#     
确保您的项目未设置为针对.NET 4 Framework Client Profile进行编译。 有关更多详细信息,请参阅Namespace未识别(即使它在那里)。     

要回复问题请先登录注册