Environment.MachineName 相当于 .NET Standard 1.4

Environment.MachineName equivalent for .NET Standard 1.4

我正在创建一个 class 库,它将在 WPF 项目和 .NET Core 项目中使用。我正在尝试使用我的应用程序获取机器的名称。

在 .NET Core 和 WPF 应用程序中我都可以使用 Environment.MachineName 值。但是在我的 .NET Standard Class 库中我不能。

我收到以下错误:

'Environment' does not contain a definition for 'MachineName'

我尝试按照 中建议的答案进行操作,但是当我尝试添加 System.Windows.Networking.Connectivity.NetworkInformation.GetHostNames() 时,出现以下错误:

The name 'Windows' does not exist in the current context

我假设这仅适用于 Windows 10 个通用应用程序?无论哪种方式,我都更喜欢一种独立于平台的方式来获取机器名称(这种方式似乎只适用于 windows 机器)

Environment.MachineName 仅在 .NET Standard > 1.5 中使用 System.Runtime.Extensions NuGet 包可用(在 .NET Standard 2.0 中自动可用)。

作为替代方案,您可以通过引用 System.Net.NameResolution NuGet 包使用 System.Net.Dns.GetHostName() 或解析 COMPUTERNAME (win) 或 HOSTNAME (*nix) 环境通过 Environment.GetEnvironmentVariable("COMPUTERNAME").

的变量