Şablon altyapısı paketleri artık netstandard2.0'i desteklemiyor

.NET SDK şablon altyapısı NuGet paketleri artık netstandard2.0'yi hedeflemez. Bu paketleri netstandard2.0 hedefi aracılığıyla kullanan ve kalan çerçevelerden hiçbirini hedeflemeyen projeler artık bu paketleri kullanamaz.

Sürüm kullanıma sunulmuştur

.NET 11 Önizleme 4

Önceki davranış

Daha önce, .NET Standard 2.0'ı hedefleyen projeler tarafından kullanımı desteklemek için (buna .NET Framework 4.6.1+ ve .NET Core 2.0+ dahildir), aşağıdaki paketler bir netstandard2.0 hedefi içeriyordu:

Yeni davranış

.NET 11'den başlayarak, bu paketler yalnızca net9.0, net11.0 ve net472 hedef alır. Bu paketleri daha önce netstandard2.0 hedefi aracılığıyla kullanan ve geri kalan bu hedef çerçevelerden hiçbirini hedeflemeyen projeler, artık bu paketlere başvuru yapamaz.

Kesinti yaratan değişiklik türü

Bu değişiklik kaynak uyumluluğunu ve ikili uyumluluğu etkileyebilir.

Değişiklik nedeni

NuGet istemci SDK paketleri (NuGet.*), 7.0 sürümünden itibaren netstandard2.0 hedeflemeyi durdurdu. Microsoft.TemplateEngine.Edge NuGet paketlerine (NuGet.Configuration, NuGet.Credentials ve NuGet.Protocol) bağlıdır ve bu da netstandard2.0 uyumluluğunu korumayı giderek zorlaştırmaktadır. Geçişli bağımlılık çakışmalarını önlemek için projenin bu paketleri eski sürümlere sabitlemesi ve devre dışı bırakması CentralPackageTransitivePinningEnabledgerekiyordu. netstandard2.0 kaldırıldığında bu kısıtlama ortadan kalkar ve paketlerin bağımlılıklarıyla birlikte güncel kalmasına olanak tanır.

Daha fazla bağlam için bkz. dotnet/sdk#54041.

Tüketen projenizi net9.0 veya sonraki bir sürümü ya da net472 veya sonraki bir sürümü (.NET Framework) hedefine güncelleştirin. Bu paketleri bir .NET Standard sınıf kitaplığından tüketmek için netstandard2.0 hedefini kullandıysanız, bu kitaplığı desteklenen hedef çerçevelerden birine yeniden hedefleyin.

Etkilenen API'ler

Etkilenen paketlerdeki tüm genel API'ler aynı kalır. Yalnızca desteklenen hedef çerçeveler değişti.