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 –