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")
.
的变量
我正在创建一个 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")
.