.NET SDK テンプレート エンジンの NuGet パッケージは、netstandard2.0 をターゲットにしなくなりました。
netstandard2.0 ターゲットを介してこれらのパッケージを使用し、残りのフレームワークの 1 つをターゲットにしていないプロジェクトでは、それらを使用できなくなります。
導入されたバージョン
.NET 11 Preview 4
以前の動作
以前は、.NET Standard 2.0 (.NET Framework 4.6.1 以降と .NET Core 2.0 以降を含む) を対象とするプロジェクトからの消費をサポートするために、次のパッケージには netstandard2.0 ターゲットが含まれていました。
Microsoft.TemplateEngine.AbstractionsMicrosoft.TemplateEngine.CoreMicrosoft.TemplateEngine.Core.ContractsMicrosoft.TemplateEngine.EdgeMicrosoft.TemplateEngine.Orchestrator.RunnableProjectsMicrosoft.TemplateEngine.UtilsMicrosoft.TemplateEngine.IDEMicrosoft.TemplateLocalizer.Core
新しい動作
.NET 11 以降では、これらのパッケージは net9.0、net11.0、および net472 のみを対象とします。
netstandard2.0 ターゲットを介してこれらのパッケージを以前に使用し、残りのフレームワークの 1 つをターゲットにしていないプロジェクトは、これらのパッケージを参照できなくなりました。
破壊的変更の種類
この変更は、 ソースの互換性 と バイナリの互換性に影響する可能性があります。
変更の理由
NuGet クライアント SDK パッケージ (NuGet.*) は、バージョン 7.0 以降 netstandard2.0 ターゲット設定を停止しました。
Microsoft.TemplateEngine.Edge は NuGet パッケージ (NuGet.Configuration、NuGet.Credentials、および NuGet.Protocol) に依存するため、netstandard2.0 の互換性の維持がますます困難になっています。 推移的な依存関係の競合を回避するために、プロジェクトはこれらのパッケージを古いバージョンにピン留めし、 CentralPackageTransitivePinningEnabledを無効にする必要がありました。
netstandard2.0を削除すると、この制約が削除され、パッケージの依存関係を最新の状態に維持できます。
詳細については、 dotnet/sdk#54041 を参照してください。
推奨されるアクション
使用しているプロジェクトを、net9.0 以降、または net472 以降 (.NET Framework) をターゲットにするように更新します。
netstandard2.0 ターゲットに依存して、.NET Standard クラス ライブラリからこれらのパッケージを使用する場合は、そのライブラリをサポートされているフレームワークのいずれかに再ターゲットします。
影響を受ける API
影響を受けるパッケージ内のすべてのパブリック API は同じままです。 サポートされているターゲット フレームワークのみが変更されました。
.NET