2009-11-25 47 views
9

Hola estoy usando este método para obtener la dirección MAC'ManagementClass' no existe en el espacio de nombres 'System.Management'

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; 

    } 

} 

pero recibo este 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?) 

Lo que tiene que hacer para arreglarlo?

gracias

+0

Lea paso a paso la forma de agregar la referencia de [System.Management] (http://stackoverflow.com/a/22223788/3240038) en su proyecto. –

Respuesta

19

Necesita add a reference para System.Management en su proyecto.

+0

el enlace está roto :( –

+0

Enlace actualizado :) – MoominTroll

+0

¿Está funcionando en 2017? No pude encontrar una gestión del sistema en la ventana emergente de referencia. Comprobé que todas las libs comiencen con System. pero todavía tiene el mismo error. ¿Debo instalar algo en Mac? – yang

2

¿Usted se ha indicado el ensamblado System.Management?

10

Creo que el problema aquí es que no tiene un "puntero" adecuado para el ensamblado System.Management. Debe:

  • Use una instrucción using - en algunos de su código, no lo hizo clases de prefijo w/System.Management, por lo que debe tampoco incluyen:

a)

.
using System.Management 

o

b.) a utilizar bloque

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

A continuación, debe tener una referencia de montaje real . Para hacer esto en Visual Studio, haga clic con el botón derecho en su proyecto (o en Referencias) en la ventana del Explorador de soluciones y haga clic en Agregar referencia. Después de tabular la lista, busque System.Management.dll en la pestaña .NET. ¡Una vez que lo agregue, debería funcionar!

5

En el Explorador de soluciones:

  1. Agregar referencia
  2. encontrar y añadir system.management en clase .NET

eso es todo

1

Por favor, primero asegúrese de añadir la Biblioteca Systems.Management en las referencias de su proyecto.

Luego solo use ese conjunto recomendado incluyendo en su clase.

using System.Windows; 
Cuestiones relacionadas