4
如何收集硬件信息如果System.Management.dll
与Dot Net Core不兼容。无法在Dot Net Core中使用System.Management.dll
我怎么样的处理器ID的设备信息,磁盘卷号等
如何收集硬件信息如果System.Management.dll
与Dot Net Core不兼容。无法在Dot Net Core中使用System.Management.dll
我怎么样的处理器ID的设备信息,磁盘卷号等
我目前移植使用System.Management
得到一些硬件信息,净框架的项目,我也到了一个死胡同,因为System.Management
与Net Core不兼容。
我找到的解决方法是使用Process.Start
从System.Diagnostics
执行PowerShell命令来获得这些信息,例如,让你可以使用命令Get-WmiObject Win32_BaseBoard | select SerialNumber
主板序列号,就可以更改命令处理输出和只有序列号,或者甚至以编程方式处理输出。
您还可以添加一些ifs
,这取决于您可以提供给Process.Start
特定OS命令的当前操作系统,例如,对于linux,您需要处理与dmidecode相关的命令。
这种方法的唯一不利方面是它的A LOT SLOWER与System.Management
相比。
猜你必须定义你正在与之交互的机器,然后尝试调用本机调用这些信息(PInvokes为win机器)。 – Karolis
对于解决方法,我使它成为新项目中安装的nuget包但它不识别名称空间。无法使用类。它显示生成错误 – user2449952
目前不可能,我已经创建了一个关于他们的回购的问题,最近有一些活动。 https://github.com/dotnet/corefx/issues/3324#issuecomment-262651454 –