Microsoft.DotNet.PlatformAbstractions package removed

No new versions of the Microsoft.DotNet.PlatformAbstractions NuGet package will be produced.

Change description

Previously, new versions of the Microsoft.DotNet.PlatformAbstractions library were produced alongside new versions of .NET Core. Going forward, no new functionality will be added to the library, and no new major versions will be released. However, existing versions of the library will continue to work and be serviced.

The Microsoft.DotNet.PlatformAbstractions library overlaps with APIs that are already established in the System.* namespaces. Also, some Microsoft.DotNet.PlatformAbstractions APIs weren't designed with the same level of scrutiny and long-term supportability as the rest of the System.* APIs. For example, Microsoft.DotNet.PlatformAbstractions uses the Platform enumeration to describe the current operating system platform. This enumeration design was explicitly rejected when the RuntimeInformation.IsOSPlatform(OSPlatform) API was designed, to allow for new platforms and future flexibility.

The scenarios enabled by the Microsoft.DotNet.PlatformAbstractions library are now possible without it. Existing versions will continue to work, even in .NET 5 and later, and will be serviced along with previous versions of .NET Core. However, new functionality won't be added to the library. Instead, new functionality will be added to other libraries and APIs.

Version introduced

5.0

Affected APIs

  • Microsoft.DotNet.PlatformAbstractions.ApplicationEnvironment.ApplicationBasePath
  • Microsoft.DotNet.PlatformAbstractions.HashCodeCombiner
  • Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier()
  • Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystem
  • Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemPlatform
  • Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemVersion
  • Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.RuntimeArchitecture