Microsoft.DotNet.PlatformAbstractions パッケージの削除

新しいバージョンの 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

  • 要件が満たされている場合は、古いバージョンのライブラリを引き続き使用することができます。

  • 以前のバージョンで要件が満たされていない場合は、PlatformAbstractions API の代わりに推奨される代替を使用してください。

    PlatformAbstractions API 推奨代替
    ApplicationEnvironment.ApplicationBasePath AppContext.BaseDirectory
    HashCodeCombiner System.HashCode
    RuntimeEnvironment.GetRuntimeIdentifier() RuntimeInformation.RuntimeIdentifier
    RuntimeEnvironment.OperatingSystemPlatform RuntimeInformation.IsOSPlatform(OSPlatform)
    RuntimeEnvironment.RuntimeArchitecture RuntimeInformation.ProcessArchitecture
    RuntimeEnvironment.OperatingSystem RuntimeInformation.OSDescription
    RuntimeEnvironment.OperatingSystemVersion RuntimeInformation.OSDescription および Environment.OSVersion

    Note

    RuntimeEnvironment.OperatingSystemRuntimeEnvironment.OperatingSystemVersion のほとんどのユース ケースは、表示目的で使用されます。たとえば、ユーザー、ログ記録、テレメトリに表示するためのものです。 オペレーティング システム (OS) のバージョンに基づいて、実行時の決定を行うことはお勧めできません。 Environment.OSVersion では、Windows および macOS オペレーティング システムの正しいバージョンが返されるようになりました。 しかし、ほとんどの Unix ディストリビューションでは、どのようなものを "OS バージョン" と見なすかは簡単ではありません。 たとえば、Linux カーネル バージョンの場合もあれば、ディストリビューション バージョンの場合もあります。 ほとんどの Unix プラットフォームでは、Environment.OSVersionRuntimeInformation.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.OperatingSystem
  • Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemPlatform
  • Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemVersion
  • Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.RuntimeArchitecture