【发布时间】:2017-05-10 21:09:09
【问题描述】:
我需要获取有关系统的信息,例如:主板信息、硬盘信息等。在操作系统 Windows 中。我可以从 wmi 服务获取它。但我需要使用 .NET 核心应用程序来收集它。
我知道在 .NET 应用程序中有接口 IWbemServices 与 WMI 服务交互,但我在 .NET 核心中找不到类似的东西。
所以我有一个问题:
- 我可以使用 .NET 核心应用程序创建 COM 对象吗?如果是“是”,那我该怎么做?
- 还有其他方法可以通过 .NET 核心获取有关硬件的信息吗?
【问题讨论】:
-
为什么要从 .NET Core 应用程序与 COM 和 WMI 交互? .NET Core 是跨平台的,但 COM/WMI 是特定于 Windows 的。也许改为构建一个 .NET Framework 项目更有意义?
-
如我所说,我需要一些硬件信息,例如主板、cpu 或 RAM 信息。它应该是 .net 核心应用程序。
-
仅在 Windows 上运行的 .NET Core 应用?
-
对于 Linux 还有其他解决方案。
-
@Nate Barbettini 为 net461 编译的网络内核非常常见,例如使用 Asp.Net Core(及其现代库),但具有 win32 依赖项 - 服务结构、事件存储等
标签: c# .net-core wmi-service