c# uwp wmi-query system.management

c# - Referencia al tipo ''Componente'' afirma que está definido en ''Sistema''



uwp wmi-query (2)

Intentando obtener algunos objetos WMI en una aplicación UWP. Ejecutando VS2015 en .net 4.6.

Recibo errores para ForEach y las llamadas al método que indican que "Referencia para escribir ''Componente'' afirma que está definido en ''Sistema''" con el error 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; } } }

Errores

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

Cualquier ayuda sería apreciada.


Esto podría funcionar para usted

foreach (ManagementObject mo in osDetailsCollection) { foreach (PropertyData prop in mo.Properties) { if(prop.Name == "Caption") Details.OSName = prop.Value; } }


Acabo de encontrarme con este problema, y ​​la solución que encontré fue rehacer el proyecto como C # WindowsFormsApp. Se agregó automáticamente las referencias:

C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/Microsoft.CSharp.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.Core.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.Data.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.Data.DataSetExtensions.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.Deployment.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.Drawing.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.Net.Http.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.Windows.Forms.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.Xml.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.2/System.Xml.Linq.dll

Con suerte eso ayuda a alguien.