2015-09-07 58 views
0

我有一些代碼駐留在asp.net應用程序中, 使用System.Management.ManagementClass查詢當前存在的各種硬件的 。System.Management.ManagementClass替換核心Clr

我們來看看CPU,底板和BIOS的詳細信息,並利用這些對於 各種事情,即識別

所以現在要交叉開發平臺與核心CLR & asp.net 5 我們需要開始移植我們的代碼。然後

的問題變成了如何才能實現這一目標,因爲上面提到的類不存在(從我的搜索)。更具體地講,我們正在尋找將現在的工作跨平臺的方法是基於硬件的,併爲我們提供:基於當前的硬件上的按鍵的方式。所以這個密鑰唯一的改變就是硬件在設備上被替換了。

回答

0

命名空間System.Management將永遠不會被可能移植到.NET的核心,特別是沒有交叉開發平臺。 System.Management是WMI的一個包裝,它又是一個非常依賴Windows平臺的Windows庫。據我所知,.NET Core目前沒有任何可用的基於硬件的ID。

它如何可以實現跨平臺:建立一個NuGet包的主機相同的兩份合同實現。一個使用您現有的WMI代碼的net451 basewd,另一個使用Linux方法讀取一些連續數據。在那裏做一些研究。/proc文件系統應該有一些,但你也可以P/Invoke到一些Linux庫。