.NET 8'de hataya neden olan değişiklikler
Bir uygulamayı .NET 8'e geçiriyorsanız, burada listelenen hataya neden olan değişiklikler sizi etkileyebilir. Değişiklikler, ASP.NET Core veya Windows Forms gibi teknoloji alanına göre gruplandırılır.
Bu makalede, her hataya neden olan değişiklik ikili uyumsuz veya kaynak uyumsuz ya da davranış değişikliği olarak kategorilere ayrılmıştır:
İkili uyumsuz - Yeni çalışma zamanına veya bileşene karşı çalıştırıldığında, mevcut ikili dosyalar yüklenemiyor veya yürütülemedi gibi hataya neden olan bir davranış değişikliğiyle karşılaşabilir ve bu durumda yeniden derleme gerekir.
Kaynak uyumsuz - Yeni SDK veya bileşen kullanılarak veya yeni çalışma zamanını hedeflemek için yeniden derlendiğinde, mevcut kaynak kodun başarıyla derlenebileceği kaynak değişiklikleri gerekebilir.
Davranış değişikliği - Var olan kod ve ikili dosyalar çalışma zamanında farklı davranabilir. Yeni davranış istenmeyen bir davranışsa mevcut kodun güncelleştirilip yeniden derlenmesi gerekir.
ASP.NET Core
Başlık | Değişiklik türü |
---|---|
ConcurrencyLimiterMiddleware kullanımdan kaldırıldı | Kaynak uyumsuz |
Serileştirme için özel dönüştürücüler kaldırıldı | Davranış değişikliği |
ISystemClock kullanımdan kaldırıldı | Kaynak uyumsuz |
Minimum API'ler: IFormFile parametreleri sahteciliği önleme denetimleri gerektirir | Davranış değişikliği |
Hız sınırlama ara yazılımı AddRateLimiter gerektirir | Davranış değişikliği |
Güvenlik belirteci olayları bir JsonWebToken döndürür | Davranış değişikliği |
TrimMode, Web SDK projeleri için varsayılan olarak tam olarak ayarlanır | Kaynak uyumsuz |
Kapsayıcılar
Başlık | Değişiklik türü |
---|---|
Alp görüntülerinden 'ca-certificates' paketi kaldırıldı | İkili uyumsuz |
Debian 12'ye yükseltilen Debian kapsayıcı görüntüleri | İkili uyumsuz/davranışsal değişiklik |
Varsayılan ASP.NET Çekirdek bağlantı noktası 8080 olarak değiştirildi | Davranış değişikliği |
Kerberos paketi Alpine ve Debian görüntülerinden kaldırıldı | İkili uyumsuz |
Alp görüntülerinden 'libintl' paketi kaldırıldı | Davranış değişikliği |
Çok platformlu kapsayıcı etiketleri yalnızca Linux'tır | Davranış değişikliği |
Linux görüntülerinde yeni 'uygulama' kullanıcısı | Davranış değişikliği |
Core .NET kitaplıkları
Şifreleme
Başlık | Değişiklik türü | Sunulan özellikler |
---|---|---|
macOS'ta AesGcm kimlik doğrulama etiketi boyutu | Davranış değişikliği | Önizleme 1 |
RSA. EncryptValue ve RSA. DecryptValue kullanımdan kaldırıldı | Kaynak uyumsuz | Önizleme 1 |
Dağıtım
Başlık | Değişiklik türü |
---|---|
Ana bilgisayar RID'ye özgü varlıkları belirler | İkili uyumsuz/davranışsal değişiklik |
.NET İzleyici yalnızca distroless görüntüler içerir | Davranış değişikliği |
StripSymbols varsayılan değeri true | Davranış değişikliği |
Entity Framework Core
EF Core 8'de hataya neden olan değişiklikler
Uzantıları
Başlık | Değişiklik türü |
---|---|
ActivatorUtilities.CreateInstance tutarlı bir şekilde davranır | Davranış değişikliği |
ActivatorUtilities.CreateInstance null olmayan sağlayıcı gerektirir | Davranış değişikliği |
Eşleşmeyen değer için ConfigurationBinder atar | Davranış değişikliği |
ConfigurationManager paketi artık System.Security.Permissions'e başvuramıyor | Kaynak uyumsuz |
DirectoryServices paketi artık System.Security.Permissions'e başvuramıyor | Kaynak uyumsuz |
Yapılandırma bağlayıcısı tarafından sözlüğe eklenen boş anahtarlar | Davranış değişikliği |
HostApplicationBuilder ctor tarafından kabul edilen HostApplicationBuilderSettings.Args | Davranış değişikliği |
ManagementDateTimeConverter.ToDateTime bir yerel saat döndürür | Davranış değişikliği |
System.Formats.Cbor DateTimeOffset biçimlendirme değişikliği | Davranış değişikliği |
Globalleştirme
Başlık | Değişiklik türü |
---|---|
Tarih ve saat dönüştürücüleri kültür bağımsız değişkenlerini kabul eder | Davranış değişikliği |
TwoDigitYearMax varsayılan değeri 2049'dur | Davranış değişikliği |
Interop
Başlık | Değişiklik türü |
---|---|
CreateObjectFlags.Unwrap yalnızca hedef örnekteki unwraps | Davranış değişikliği |
Özel marshallers için ek üye gerekiyor | Kaynak uyumsuz |
IDispatchImplAttribute API kaldırıldı | İkili uyumsuz |
JSFunctionBinding örtük genel varsayılan oluşturucu kaldırıldı | İkili uyumsuz |
SafeHandle türlerinin ortak oluşturucuya sahip olması gerekir | Kaynak uyumsuz |
Ağ
Başlık | Değişiklik türü |
---|---|
SendFile, bağlantısız yuvalar için NotSupportedException oluşturur | Davranış değişikliği |
URI'lerdeki mailto: kullanıcı bilgileri karşılaştırılır |
Davranış değişikliği |
Yansıma
Başlık | Değişiklik türü |
---|---|
IntPtr artık işlev işaretçisi türleri için kullanılmıyor | Davranış değişikliği |
SDK
Serileştirme
Başlık | Değişiklik türü |
---|---|
BinaryFormatter çoğu proje için devre dışı bırakıldı | Davranış değişikliği |
PublishedTrimmed projeleri yansıma tabanlı serileştirmede başarısız oldu | Davranış değişikliği |
Yansıma tabanlı seri durumdan çıkarıcı meta verileri hevesle çözümler | Davranış değişikliği |
Windows Forms
Başlık | Değişiklik türü |
---|---|
PictureBox'ta uzak görüntüleri yüklemeden önce denetlenen sertifikalar | Davranış değişikliği |
DateTimePicker.Text boş dize | Davranış değişikliği |
DefaultValueAttribute bazı özelliklerden kaldırıldı | Davranış değişikliği |
ExceptionCollection ctor ArgumentException oluşturur | Davranış değişikliği |
Formlar Otomatik ÖlçeklendirmeMode'a göre ölçeklendirilir | Davranış değişikliği |
ImageList.ColorDepth varsayılanı Depth32Bit'tir | Davranış değişikliği |
System.Windows.Extensions, System.Drawing.Common'a başvurmuyor | Kaynak uyumsuz |
TableLayoutStyleCollection, ArgumentException oluşturur | Davranış değişikliği |
Üst düzey formlar minimum ve maksimum boyutu DPI olarak ölçeklendirir | Davranış değişikliği |
WFDEV002 kullanımdan kaldırılmış olması artık bir hatadır | Kaynak uyumsuz |