Aracılığıyla paylaş


Paketten bırakılan eski çerçeve sürümleri

.NET 6'dan başlayarak, çekirdek kitaplık paketleri artık hedef çerçevesi aşağıdakilerden daha eski olan projelere yüklenemez:

  • .NET Framework 4.6.1
  • .NET Core 3.1
  • .NET Standard 2.0

Açıklama değiştirildi

Daha önce paketleri .NET Framework 4.6.1, .NET Core 3.1 veya .NET Standard 2.0'dan daha eski bir çerçeveden kullanıyor olsanız bile en son sürüme yükseltebiliyordunuz. .NET 6'dan başlayarak, önceki bir çerçeveden etkilenen bir pakete başvuruyorsanız, başvuruda bulunılan paketi artık en son sürüme güncelleştiremezsiniz.

Sürüm kullanıma sunulmuştur

.NET 6

Değişiklik nedeni

Tüm çerçeveler için derlemeye devam etmek, paketin karmaşıklığını ve boyutunu artırır. Geçmişte .NET bu sorunu yalnızca geçerli çerçeveler için oluşturup eski çerçeveler için ikili dosyalar toplayarak çözmüştü. Toplama, derleme sırasında paketin önceki sürümünün indirilmesi ve ikili dosyaların ayıklanması anlamına gelir.

Toplanmış ikili dosya kullanmanız, bir çerçevenin bırakıldığından endişelenmeden her zaman güncelleştirebileceğiniz anlamına gelir, ancak herhangi bir hata düzeltmesi veya yeni özellik almadığınız anlamına da gelir. Başka bir deyişle, toplanmış varlıklara hizmet velenemez. Artık güncelleştirilmemiş olan eski ikili dosyaları kullanıyor olsanız bile paketi daha sonraki bir sürüme güncelleştirmeye devam edebildiğiniz için bu sizden gizlenir.

.NET 6'dan itibaren .NET, gönderilen tüm varlıkların servise alınabilmesini sağlamak için artık herhangi bir hasat yöntemi gerçekleştirmemektedir.

Projeniz korunduysa ancak geliştirilmiyorsa etkilenen paketleri yükseltmeyin. Bu genellikle çok büyük bir geri alma işlemi değildir çünkü zaten donmuş bir ikili dosya kullanıyorsunuz.

Projeniz gelişiyorsa, bunu daha sonraki bir çerçeve sürümüne yükseltin, örneğin:

  • .NET Framework 4.6.1
  • .NET Core 3.1
  • .NET Standard 2.0

Etkilenen API’ler

Aşağıdaki paketler artık eski çerçeveleri göndermez:

  • 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
  • Packaging
  • System.IO.Pipelines
  • System.Management
  • System.Net.Http.WinHttpHandler
  • System.Net.WebSockets.WebSocketProtocol
  • System.Numerics.Tensors
  • Sistem. Düşünceler. Bağlam
  • Sistem. Düşünceler. Meta veri
  • Sistem. Düşünceler. MetadataLoadContext
  • Runtime. Önbelleğe Alma
  • 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
  • Speech
  • System.Text.Encoding.CodePages
  • System.Text.Encodings.Web
  • System.Threading.AccessControl
  • System.Threading.Channels
  • System.Threading.Tasks.Dataflow
  • System.Windows.Extensions

Uygulamaları artık .NET 6 platformunun bir parçası olduğundan aşağıdaki paketler artık güncelleştirilmeyecek:

  • 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