«ManagementClass» не существует в пространстве имен «System.Management».

StackOverflow https://stackoverflow.com/questions/1798152

  •  22-09-2019
  •  | 
  •  

Вопрос

Привет, я использую этот метод для получения 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 System.Management

или

б.) блок использования

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

Далее вам необходимо иметь реальная ссылка на сборку.Чтобы сделать это в Visual Studio, щелкните правой кнопкой мыши свой проект (или ссылки) в окне обозревателя решений и выберите «Добавить ссылку».После составления таблицы найдите System.Management.dll на вкладке .NET.Как только вы добавите его, он должен работать!

В обозревателе решений:

  1. добавить ссылку
  2. найдите и добавьте system.management в класс .NET

вот и все

У вас есть ссылка на сборку System.Management?

Пожалуйста, сначала убедитесь, что вы добавили библиотеку Systems.Management в ссылки на ваш проект.

Затем просто используйте эту указанную сборку, включив ее в свой класс.

using System.Windows;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top