テンプレート エンジン パッケージで netstandard2.0 がサポートされなくなりました

.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 ターゲットが含まれていました。

新しい動作

.NET 11 以降では、これらのパッケージは net9.0net11.0、および net472 のみを対象とします。 netstandard2.0 ターゲットを介してこれらのパッケージを以前に使用し、残りのフレームワークの 1 つをターゲットにしていないプロジェクトは、これらのパッケージを参照できなくなりました。

破壊的変更の種類

この変更は、 ソースの互換性バイナリの互換性に影響する可能性があります。

変更の理由

NuGet クライアント SDK パッケージ (NuGet.*) は、バージョン 7.0 以降 netstandard2.0 ターゲット設定を停止しました。 Microsoft.TemplateEngine.Edge は NuGet パッケージ (NuGet.ConfigurationNuGet.Credentials、および NuGet.Protocol) に依存するため、netstandard2.0 の互換性の維持がますます困難になっています。 推移的な依存関係の競合を回避するために、プロジェクトはこれらのパッケージを古いバージョンにピン留めし、 CentralPackageTransitivePinningEnabledを無効にする必要がありました。 netstandard2.0を削除すると、この制約が削除され、パッケージの依存関係を最新の状態に維持できます。

詳細については、 dotnet/sdk#54041 を参照してください。

使用しているプロジェクトを、net9.0 以降、または net472 以降 (.NET Framework) をターゲットにするように更新します。 netstandard2.0 ターゲットに依存して、.NET Standard クラス ライブラリからこれらのパッケージを使用する場合は、そのライブラリをサポートされているフレームワークのいずれかに再ターゲットします。

影響を受ける API

影響を受けるパッケージ内のすべてのパブリック API は同じままです。 サポートされているターゲット フレームワークのみが変更されました。