不会生成 Microsoft.DotNet.PlatformAbstractions NuGet 包 的新版本。
更改描述
以前,库 Microsoft.DotNet.PlatformAbstractions 的新版本与 .NET Core 的新版本一起生成。 今后,不会向库添加任何新功能,也不会发布新的主版本。 但是,库的现有版本将继续工作并得到服务。
库 Microsoft.DotNet.PlatformAbstractions 与已在 System.* 命名空间中建立的 API 重叠。 此外,某些 Microsoft.DotNet.PlatformAbstractions API 并未设计成具有与 System.* API 的其余部分相同的审查和长期可支持性。 例如, Microsoft.DotNet.PlatformAbstractions 使用 Platform 枚举来描述当前的作系统平台。 在设计 RuntimeInformation.IsOSPlatform(OSPlatform) API 时,明确拒绝了这种枚举设计,以便支持新平台和未来的灵活性。
由 Microsoft.DotNet.PlatformAbstractions 库实现的情景现在可以不使用它而实现。 现有版本将继续运行,即使在 .NET 5 及更高版本中,也会与早期版本的 .NET Core 一起提供服务。 但是,不会将新功能添加到库中。 相反,新功能将添加到其他库和 API。
已引入的版本
5.0
建议的措施
如果旧版库满足你的要求,可以继续使用这些版本。
如果较旧版本无法满足需求,请使用建议的替换项替换
PlatformAbstractionsAPI 的用法。PlatformAbstractions应用程序接口建议的替换 ApplicationEnvironment.ApplicationBasePathAppContext.BaseDirectory HashCodeCombiner System.HashCode RuntimeEnvironment.GetRuntimeIdentifier()RuntimeInformation.RuntimeIdentifier RuntimeEnvironment.OperatingSystemPlatformRuntimeInformation.IsOSPlatform(OSPlatform) RuntimeEnvironment.RuntimeArchitectureRuntimeInformation.ProcessArchitecture RuntimeEnvironment.OperatingSystemRuntimeInformation.OSDescription RuntimeEnvironment.OperatingSystemVersionRuntimeInformation.OSDescription 和 Environment.OSVersion 注释
对于
RuntimeEnvironment.OperatingSystem和RuntimeEnvironment.OperatingSystemVersion,大多数用例是用于显示目的,例如显示给用户、进行日志记录和执行遥测。 不建议基于操作系统 (OS) 版本在运行时做决策。 现在,Environment.OSVersion 返回适用于 Windows 和 macOS 操作系统的正确版本。 但是,对于大多数 Unix 分发版,什么被视为“OS 版本”并不像想象的那么简单。 例如,它可以是 Linux 内核版本,也可以是发行版版本。 对于大多数 Unix 平台,Environment.OSVersion 和 RuntimeInformation.OSDescription 返回的版本是由uname返回的。 若要获取 Linux 发行版名称和版本信息,建议的方法是读取 /etc/os-release 文件。
受影响的 API
Microsoft.DotNet.PlatformAbstractions.ApplicationEnvironment.ApplicationBasePath- Microsoft.DotNet.PlatformAbstractions.HashCodeCombiner
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier()Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemMicrosoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemPlatformMicrosoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemVersionMicrosoft.DotNet.PlatformAbstractions.RuntimeEnvironment.RuntimeArchitecture