gpt4 book ai didi

C# 错误 - 找不到命名空间 ManagementClass、ManagementObject 和 ManagementObjectCollection

转载 作者:太空狗 更新时间:2023-10-29 20:58:35 39 4
gpt4 key购买 nike

因此,在导入 C# 类后,我得到了完整的错误列表。我搜索了错误并得到了很多结果,但是他们都说只需添加存在的 System.Management 命名空间,但它会给出这些错误。

类似的问题。没有解决方案对我有用: Missing directive or assembly reference using WMI ManagementObjectSearcher?

'ManagementClass' does not exist in the namespace 'System.Management'

The type or namespace cannot be found (are you missing a using directive or an assembly reference?)

类:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Collections;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Net;
using System.Xml;
using System.IO.Compression;
using System.Runtime.InteropServices;
using System.Threading;
using System.Management;
using Microsoft.Win32;
using System.Net.NetworkInformation;
using System.Security.Cryptography;

namespace PCID_Grabber
{

public class PCID
{
public static string GetCPUId()
{
#region CPUid
string cpuInfo = String.Empty;
string temp = String.Empty;
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (cpuInfo == String.Empty)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
}
return cpuInfo;
#endregion
}

public static string GetMotherBoardID()
{
#region Mboard
ManagementObjectCollection mbCol = new ManagementClass("Win32_BaseBoard").GetInstances();
ManagementObjectCollection.ManagementObjectEnumerator mbEnum = mbCol.GetEnumerator();
mbEnum.MoveNext();
return ((ManagementObject)(mbEnum.Current)).Properties["SerialNumber"].Value.ToString();
#endregion
}

public static string GetMacAddress()
{
#region MacAddress
string macs = "";
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface ni in interfaces)
{
PhysicalAddress pa = ni.GetPhysicalAddress();
macs += pa.ToString();
}
return macs;
#endregion
}
public static string GetVolumeSerial()
{
#region HD serial
string strDriveLetter = "";
ManagementClass mc = new ManagementClass("Win32_PhysicalMedia");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
try
{
if ((UInt16)mo["MediaType"] == 29)
{
String serial = mo["SerialNumber"].ToString().Trim();
if (!String.IsNullOrEmpty(serial))
{
strDriveLetter = (string)mo["SerialNumber"];
return strDriveLetter;
}
}
}
catch { }
}
return strDriveLetter;
#endregion
}
public static string GetGenericID()
{
#region UID
string ID = GetCPUId() + GetMotherBoardID() + GetMacAddress() + GetVolumeSerial();
HMACSHA1 hmac = new HMACSHA1();
hmac.Key = Encoding.ASCII.GetBytes(GetMotherBoardID());
hmac.ComputeHash(Encoding.ASCII.GetBytes(ID));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hmac.Hash.Length; i++)
{
sb.Append(hmac.Hash[i].ToString("X2"));
}
return sb.ToString();
#endregion
}
}
}

错误列表:

Error   1   The type or namespace name 'ManagementClass' could not be found (are you missing a using directive or an assembly reference?)   C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs  31  13  PCID Grabber
Error 2 The type or namespace name 'ManagementClass' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs 31 38 PCID Grabber
Error 5 The type or namespace name 'ManagementClass' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs 46 52 PCID Grabber
Error 8 The type or namespace name 'ManagementClass' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs 69 13 PCID Grabber
Error 9 The type or namespace name 'ManagementClass' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs 69 38 PCID Grabber
Error 7 The type or namespace name 'ManagementObject' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs 49 22 PCID Grabber
Error 3 The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs 32 13 PCID Grabber
Error 4 The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs 46 13 PCID Grabber
Error 6 The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs 47 13 PCID Grabber
Error 10 The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?) C:\Users\Keanu\workspace\PCID Grabber\PCID Grabber\pcid.cs 70 13 PCID Grabber

最佳答案

您还需要为您的项目添加程序集引用。您需要在项目中引用 System.Management 程序集,否则 using 语句将无法定位命名空间

  1. 右键点击您的项目
  2. 点击“添加引用...”
  3. 然后从“程序集”选项卡中选择“System.Management”

enter image description here

关于C# 错误 - 找不到命名空间 ManagementClass、ManagementObject 和 ManagementObjectCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24816703/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com