问题
Hi i'm using this method for get the mac address
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;
}
}
but i receive this error
Compiler Error Message: CS0234: The type or namespace name 'ManagementClass' does not exist in the namespace 'System.Management' (are you missing an assembly reference?)
What i have to do for fix it?
thanks
回答1:
You need to add a reference to System.Management in your project.
回答2:
I think the issue here is that you don't have a proper "pointer" to the System.Management assembly. You must:
- Use a using statement - in some of your code, you didn't prefix classes w/ System.Management, so you should either include:
a.)
using System.Management
or
b.) a using block
using(System.Management)
{
//your code goes here
}
Next, you need to have a real assembly reference. To do this in Visual Studio, right click on your project (or on References) in the Solution Explorer window and click Add Reference. After the list tabulates, find System.Management.dll in the .NET tab. Once you add it, it should work!
回答3:
In the solution explorer:
- add reference
- find and add system.management in .NET class
that's it
回答4:
Have you got the System.Management assembly referenced?
回答5:
Please first make sure you add the Library Systems.Management
in to your project references.
Then just use that referred assembly by including in your class.
using System.Windows;
来源:https://stackoverflow.com/questions/1798152/managementclass-does-not-exist-in-the-namespace-system-management