パッケージから削除された古いバージョンのフレームワーク
.NET 6 以降では、ターゲット フレームワークが以下のものより古いプロジェクトには、コア ライブラリ パッケージをインストールできなくなりました。
- .NET Framework 4.6.1
- .NET Core 3.1
- .NET Standard 2.0
変更内容
以前は、.NET Framework 4.6.1、.NET Core 3.1、または .NET Standard 2.0 より古いフレームワークから使用している場合であっても、パッケージを最新バージョンにアップグレードできました。 .NET 6 以降では、影響を受けるパッケージを以前のフレームワークから参照している場合、参照されているパッケージを最新バージョンに更新できなくなりました。
導入されたバージョン
.NET 6
変更理由
引き続きすべてのフレームワークでビルドできるようにすると、パッケージの複雑さとサイズが増します。 これまで、この問題は、.NET により、現在のフレームワークについてのみビルドし、古いフレームワークについてはバイナリを "収集する" ことによって解決されました。 収集とは、ビルドの間に、以前のバージョンのパッケージをダウンロードし、バイナリを抽出することを意味します。
収集されたバイナリを使用すると、フレームワークが削除されることを心配せずにいつでも更新できますが、バグ修正や新機能は提供されません。 つまり、収集された資産ではサービスを提供できません。 更新されなくなった同じ古いバイナリを使用している場合でも、パッケージを新しいバージョンに更新することができるため、これはユーザーには表示されません。
.NET 6 以降では、出荷されるすべての資産を提供できるようにするため、.NET ではいかなる形式の収集も実行されなくなりました。
推奨アクション
プロジェクトが維持されていても進化していない場合は、影響を受けるパッケージをアップグレードしないだけです。 固定されたバイナリを既に使用しているので、これは一般に大きな後戻りではありません。
プロジェクトが進化している場合は、次のような新しいフレームワーク バージョンにアップグレードします。
- .NET Framework 4.6.1
- .NET Core 3.1
- .NET Standard 2.0
影響を受ける API
次のパッケージでは、古いフレームワークは出荷されなくなりました。
- Microsoft.Extensions.DependencyModel
- Microsoft.Win32.Registry.AccessControl
- Microsoft.Win32.SystemEvents
- System.Collections.Immutable
- System.ComponentModel.Annotations
- System.ComponentModel.Composition
- System.ComponentModel.Composition.Registration
- System.Composition.AttributedModel
- System.Composition.Convention
- System.Composition.Hosting
- System.Composition.Runtime
- System.Composition.TypedParts
- System.Data.Odbc
- System.Data.OleDb
- System.Diagnostics.DiagnosticSource
- System.Diagnostics.EventLog
- System.Diagnostics.PerformanceCounter
- System.DirectoryServices
- System.DirectoryServices.AccountManagement
- System.DirectoryServices.Protocols
- System.Drawing.Common
- System.IO.Packaging
- System.IO.Pipelines
- System.Management
- System.Net.Http.WinHttpHandler
- System.Net.WebSockets.WebSocketProtocol
- System.Numerics.Tensors
- System.Reflection.Context
- System.Reflection.Metadata
- System.Reflection.MetadataLoadContext
- System.Runtime.Caching
- System.Runtime.CompilerServices.Unsafe
- System.Security.Cryptography.Cng
- System.Security.Cryptography.OpenSsl
- System.Security.Cryptography.Pkcs
- System.Security.Cryptography.ProtectedData
- System.Security.Permissions
- System.ServiceProcess.ServiceController
- System.Speech
- System.Text.Encoding.CodePages
- System.Text.Encodings.Web
- System.Threading.AccessControl
- System.Threading.Channels
- System.Threading.Tasks.Dataflow
- System.Windows.Extensions
次のパッケージは、実装が .NET 6 プラットフォームの一部になったため、今後は更新されません。
- Microsoft.Win32.Registry
- System.ComponentModel.Annotations
- System.IO.FileSystem.AccessControl
- System.IO.Pipes.AccessControl
- System.Security.AccessControl
- System.Security.Cryptography.Cng
- System.Security.Cryptography.OpenSsl
- System.Security.Principal.Windows
.NET