C# ';管理类';命名空间中不存在';系统管理';

C# ';管理类';命名空间中不存在';系统管理';,c#,asp.net,macos,mac-address,C#,Asp.net,Macos,Mac Address,嗨,我用这个方法来获取mac地址 public string GetMACAddress() { System.Management.ManagementClass mc = default(System.Management.ManagementClass); ManagementObject mo = default(ManagementObject); mc = new ManagementClass("Win32_NetworkAdapterConfigurati

嗨,我用这个方法来获取mac地址

public string GetMACAddress()
{
    System.Management.ManagementClass mc = default(System.Management.ManagementClass);
    ManagementObject mo = default(ManagementObject);
    mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

    ManagementObjectCollection moc = mc.GetInstances();
    foreach (var mo in moc)
    {
        if (mo.Item("IPEnabled") == true)
        {
            return mo.Item("MacAddress").ToString();
        }else
            return null;

    }

} 
但是我收到了这个错误

Compiler Error Message: CS0234: The type or namespace name 'ManagementClass' does not exist in the namespace 'System.Management' (are you missing an assembly reference?)
我要怎么做才能修好它


谢谢

您是否引用了System.Management程序集?

您需要将System.Management添加到项目中。

我认为这里的问题是您没有指向System.Management程序集的正确“指针”。你必须:

  • 使用using语句-在您的一些代码中,您没有为类添加前缀w/System.Management,因此您应该包括:
a、 )

b、 )使用块

using(System.Management) 
{  
//your code goes here
}

接下来,您需要有一个真实的程序集引用。要在Visual Studio中执行此操作,请在“解决方案资源管理器”窗口中右键单击项目(或参考),然后单击“添加参考”。列表制表后,在.NET选项卡中查找System.Management.dll。一旦你添加它,它应该会工作

在解决方案资源管理器中:

  • 添加引用
  • 在.NET类中查找并添加system.management

  • 就这样

    请首先确保在项目参考中添加库
    Systems.Management

    然后只需在类中包含引用的程序集

    using System.Windows;
    

    阅读逐步将的引用添加到项目中的方法。链接已断开:(更新链接!:)它在2017年工作吗?我在参考弹出窗口中找不到System.management。我从系统开始检查了所有LIB。但还是犯了同样的错误。我需要在Mac上安装任何东西吗?不幸的是,我不确定Mac的具体情况,但如果我在VS2017中搜索System.Management,我会得到
    using System.Windows;