15

こんにちは私は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?)

私はそれを修正するために何をしなければなりませんか?

ありがとう

4

5 に答える 5

30

プロジェクトに System.Management への参照を追加する必要があります。

于 2009-11-25T16:36:29.090 に答える
13

ここでの問題は、System.Management アセンブリへの適切な「ポインター」がないことだと思います。絶対です:

  • using ステートメントを使用します。一部のコードでは、クラスの前に System.Management を付けていないため、次のいずれかを含める必要があります。

a.)

using System.Management

また

b.) using ブロック

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

次に、実際のアセンブリ参照が必要です。Visual Studio でこれを行うには、ソリューション エクスプローラー ウィンドウでプロジェクト (または [参照]) を右クリックし、[参照の追加] をクリックします。リストが集計されたら、[.NET] タブで System.Management.dll を見つけます。追加すると、動作するはずです!

于 2009-11-25T16:44:52.113 に答える
8

ソリューション エクスプローラーで:

  1. 参照を追加
  2. .NET クラスで system.management を見つけて追加する

それでおしまい

于 2012-05-07T09:11:45.630 に答える
3

System.Management アセンブリを参照しましたか?

于 2009-11-25T16:33:45.737 に答える
2

最初に、ライブラリSystems.Managementをプロジェクト参照に追加していることを確認してください。

次に、クラスに含めることで、その参照されたアセンブリを使用するだけです。

using System.Windows;
于 2016-09-08T13:19:41.360 に答える