【发布时间】:2015-10-05 23:51:23
【问题描述】:
试图在 UWP 应用程序中获取一些 WMI 对象。在 .net 4.6 上运行 VS2015。
我收到 ForEach 和方法调用的错误,指出“对类型 'Component' 的引用声称它是在 'System' 中定义的”,错误为 CS7069。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management;
namespace SystemInfo
{
class wmiObject
{
static osDetails Program()
{
ManagementObjectCollection osDetailsCollection = getWMIObject("SELECT OSType, caption FROM Win32_OperatingSystem");
osDetails Details = new osDetails();
foreach (ManagementObject mo in osDetailsCollection)
{
Details.OSName = mo["Caption"].ToString();
}
osDetailsCollection = getWMIObject("SELECT Description, NumberOfLogicalProcessors, L3CacheSize from Win32_Processor");
foreach (ManagementObject mo in osDetailsCollection)
{
Details.NumberOfLogicalProcessors = mo["NumberOfLogicalProcessors"].ToString();
Details.L3CacheSize = mo["L3CacheSize"].ToString();
Details.Description = mo["Description"].ToString();
}
;
return Details;
}
static ManagementObjectCollection getWMIObject(string query)
{
ManagementObjectSearcher objOSDetails = new ManagementObjectSearcher(query);
ManagementObjectCollection osDetailsCollection = objOSDetails.Get();
return osDetailsCollection;
}
class osDetails
{
public string Description;
public string OSName;
public string NumberOfLogicalProcessors;
public string L3CacheSize;
}
}
}
错误
Severity Code Description Project File Line
Error CS7069 Reference to type 'Component' claims it is defined in 'System', but it could not be found SystemInfo C:\Users\Luke\Documents\GitHub\lgDns\lgDns\SystemInfo\SystemInfo\osDetails.cs 41
Error CS7069 Reference to type 'Component' claims it is defined in 'System', but it could not be found SystemInfo C:\Users\Luke\Documents\GitHub\lgDns\lgDns\SystemInfo\SystemInfo\osDetails.cs 18
Error CS7069 Reference to type 'Component' claims it is defined in 'System', but it could not be found SystemInfo C:\Users\Luke\Documents\GitHub\lgDns\lgDns\SystemInfo\SystemInfo\osDetails.cs 20
Error CS7069 Reference to type 'Component' claims it is defined in 'System', but it could not be found SystemInfo C:\Users\Luke\Documents\GitHub\lgDns\lgDns\SystemInfo\SystemInfo\osDetails.cs 26
Error CS7069 Reference to type 'Component' claims it is defined in 'System', but it could not be found SystemInfo C:\Users\Luke\Documents\GitHub\lgDns\lgDns\SystemInfo\SystemInfo\osDetails.cs 28
Error CS7069 Reference to type 'Component' claims it is defined in 'System', but it could not be found SystemInfo C:\Users\Luke\Documents\GitHub\lgDns\lgDns\SystemInfo\SystemInfo\osDetails.cs 29
Error CS7069 Reference to type 'Component' claims it is defined in 'System', but it could not be found SystemInfo C:\Users\Luke\Documents\GitHub\lgDns\lgDns\SystemInfo\SystemInfo\osDetails.cs 30
任何帮助将不胜感激。
【问题讨论】:
-
我在 C# 控制台应用程序中测试了相同的代码,它似乎工作正常 - 引用没有问题。我已将 System.Management 引用添加到我的通用应用程序中......新的通用应用程序版本可能有问题吗?
-
您不能在 UWP 应用中使用 System.Management 命名空间。在此处查看适用于 UWP 的可用 .net API msdn.microsoft.com/en-us/library/windows/apps/mt185501.aspx
-
你修好了吗?我也面临同样的问题
标签: c# uwp wmi-query system.management