2015-09-07 133 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库。