문제

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

도움이 되었습니까?

해결책

You need to add a reference to System.Management in your project.

다른 팁

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!

In the solution explorer:

  1. add reference
  2. find and add system.management in .NET class

that's it

Have you got the System.Management assembly referenced?

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;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top