名称空间’System.Management’中不存在’ManagementClass’

嗨,我正在使用此方法获取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程序集。 你必须:

  • 使用using语句 – 在某些代码中,您没有使用System.Management前缀类,因此您应该包括:

一个。)

 using System.Management 

要么

b。)使用块

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

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

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

  1. 添加参考
  2. 在.NET类中查找并添加system.management

而已

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

请首先确保将Library Systems.Management添加到项目引用中。

然后通过在您的class级中加入来使用该引用的程序集。

 using System.Windows;