.NET 5'te hataya neden olan değişiklikler

Bir uygulamayı .NET 5'e geçiriyorsanız, burada listelenen hataya neden olan değişiklikler sizi etkileyebilir. Değişiklikler ASP.NET Core veya şifreleme gibi teknoloji alanına göre gruplandırılır.

Bu makalede, her hataya neden olan değişikliğin ikili uyumlu mu yoksa kaynak uyumlu mu olduğu gösterilir:

  • İkili uyumlu - Mevcut ikili dosyalar yeniden derleme olmadan başarıyla yüklenip yürütülür ve çalışma zamanı davranışı değişmez.
  • Kaynak uyumlu - Kaynak kodu, yeni çalışma zamanını hedeflerken veya yeni SDK veya bileşen kullanılırken değişiklik olmadan başarıyla derlenir.

ASP.NET Core

Başlık İkili uyumlu Kaynak uyumlu
ASP.NET Core uygulamaları, teklif edilen sayıları seri durumdan çıkarma ✔️
AzureAD.UI ve AzureADB2C.UI API'leri kullanımdan kaldırıldı ✔️
BinaryFormatter serileştirme yöntemleri kullanımdan kaldırıldı ✔️
Uç nokta yönlendirmedeki kaynak HttpContext'tir ✔️
Microsoft ön ekli Azure tümleştirme paketleri kaldırıldı ✔️
Blazor: Blazor uygulamalarında yol önceliği mantığı değiştirildi ✔️
Blazor: Güncelleştirilmiş tarayıcı desteği ✔️ ✔️
Blazor: Derleyici tarafından kırpılan önemsiz boşluk ✔️
Blazor: JSObjectReference ve JSInProcessObjectReference türleri dahilidir ✔️
Blazor: NuGet paketlerinin hedef çerçevesi değiştirildi ✔️
Blazor: ProtectedBrowser Depolama özelliği paylaşılan çerçeveye taşındı ✔️
Blazor: RenderTreeFrame salt okunur genel alanlar artık özelliklerdir ✔️
Blazor: Statik web varlıkları için doğrulama mantığı güncelleştirildi ✔️
Şifreleme API'leri tarayıcıda desteklenmiyor ✔️
Uzantılar: Paket başvurusu değişiklikleri ✔️
Kestrel ve IIS BadHttpRequestException türleri kullanımdan kaldırıldı ✔️
IHttpClientFactory günlüğü tamsayı durum kodları tarafından oluşturulan HttpClient örnekleri ✔️
HttpSys: İstemci sertifikası yeniden anlaşması varsayılan olarak devre dışı bırakıldı ✔️
IIS: UrlRewrite ara yazılım sorgu dizeleri korunur ✔️
Kestrel: Yapılandırma değişiklikleri varsayılan olarak algılandı ✔️
Kestrel: Varsayılan desteklenen TLS protokolü sürümleri değiştirildi ✔️
Kestrel: UYUMSUZ Windows sürümlerinde TLS üzerinden HTTP/2 devre dışı bırakıldı ✔️ ✔️
Kerkenez: Libuv taşıması eski olarak işaretlendi ✔️
ConsoleLoggerOptions'ta eski özellikler ✔️
ResourceManagerWithCultureStringLocalizer sınıfı ve WithCulture arabirim üyesi kaldırıldı ✔️
Pubternal API'leri kaldırıldı ✔️
İstek yerelleştirme ara yazılımında eski oluşturucu kaldırıldı ✔️
Ara yazılım: Eski olarak işaretlenmiş veritabanı hata sayfası ✔️
Özel durum işleyici ara yazılımı özgün özel durum oluşturur ✔️ ✔️
ObjectModelValidator yeni bir Validate aşırı yüklemesini çağırır ✔️
Tanımlama bilgisi adı kodlaması kaldırıldı ✔️
IdentityModel NuGet paket sürümleri güncelleştirildi ✔️
SignalR: MessagePack Hub Protokolü seçenekleri türü değiştirildi ✔️
SignalR: MessagePack Hub Protokolü taşındı ✔️
UseSignalR ve Use Bağlan ions yöntemleri kaldırıldı ✔️
CSV içerik türü standartlara uyumlu olarak değiştirildi ✔️

Kod analizi

Başlık İkili uyumlu Kaynak uyumlu
CA1416 uyarısı ✔️
CA1417 uyarısı ✔️
CA1831 uyarısı ✔️
CA2013 uyarısı ✔️
CA2014 uyarısı ✔️
CA2015 uyarısı ✔️
CA2200 uyarısı ✔️
CA2247 uyarısı ✔️

Core .NET kitaplıkları

Başlık İkili uyumlu Kaynak uyumlu
Tek dosyalı yayımlama için derlemeyle ilgili API değişiklikleri ✔️
BinaryFormatter serileştirme yöntemleri kullanımdan kaldırıldı ✔️
Kod erişimi güvenlik API'leri kullanımdan kaldırıldı ✔️
CreateCounterSetInstance InvalidOperationException oluşturuyor ✔️
Varsayılan ActivityIdFormat W3C'dir ✔️
Environment.OSVersion doğru sürümü döndürür ✔️
FrameworkDescription'ın değeri .NET Core değil .NET'tir ✔️
GAC API'leri kullanımdan kaldırıldı ✔️
Donanım iç IsSupported denetimleri ✔️
IntPtr ve UIntPtr, IFormattable'ı uygular ✔️
LastIndexOf boş arama dizelerini işler ✔️
Unix'te ASCII olmayan karakterler içeren URI yolları ✔️
Varsayılan olmayan tanılama kimlikleriyle API obsolet'leri ✔️
ConsoleLoggerOptions'ta eski özellikler ✔️
LINQ OrderBy.First Karmaşıklığı ✔️
OSPlatform öznitelikleri yeniden adlandırıldı veya kaldırıldı ✔️
Microsoft.DotNet.PlatformAbstractions paketi kaldırıldı ✔️
PrincipalPermissionAttribute kullanımdan kaldırıldı ✔️
Önizleme sürümlerindeki parametre adı değişiklikleri ✔️
Başvuru derlemelerindeki parametre adı değişiklikleri ✔️
Uzaktan iletişim API'leri kullanımdan kaldırıldı ✔️
Activity.Tags listesinin sırası tersine çevrildi ✔️
SSE ve SSE2 karşılaştırma yöntemleri NaN'i işler ✔️
Thread.Abort kullanımdan kaldırıldı ✔️
Unix'te UNC yollarının Uri tanıması ✔️
UTF-7 kod yolları kullanımdan kaldırıldı ✔️
Vector2.Lerp ve Vector4.Lerp için davranış değişikliği ✔️
Vektör<T> NotSupportedException oluşturur ✔️

Şifreleme

Başlık İkili uyumlu Kaynak uyumlu
Şifreleme API'leri tarayıcıda desteklenmiyor ✔️
Cryptography.Oid yalnızca init-only ✔️
Linux'ta varsayılan TLS şifreleme paketleri ✔️
Şifreleme soyutlamalarında Create() aşırı yüklemeleri kullanımdan kaldırıldı ✔️
Varsayılan Geri BildirimDize değeri değiştirildi ✔️

Entity Framework Core

EF Core 5.0'da hataya neden olan değişiklikler

Globalleştirme

Başlık İkili uyumlu Kaynak uyumlu
Windows'da ICU kitaplıklarını kullanma ✔️
StringInfo ve TextElementEnumerator UAX29 uyumlu ✔️
Latin-1 karakterleri için Unicode kategorisi değiştirildi ✔️
TextInfo.ListSeparator değerleri değiştirildi ✔️

Interop

Başlık İkili uyumlu Kaynak uyumlu
WinRT desteği kaldırıldı ✔️
RCW'yi InterfaceIsIInspectable'a atama özel durum oluşturur ✔️
Windows dışı platformlarda A/W soneki yoklama yok ✔️

Başlık İkili uyumlu Kaynak uyumlu
Tanımlama bilgisi yolu işleme RFC 6265 ile uyumlu ✔️
SendToAsync çağrıldıktan sonra LocalEndPoint güncelleştirildi ✔️
MulticastOption.Group null değeri kabul etmiyor ✔️
Akışlar devam eden Begin işlemlerine izin ver ✔️
WinHttpHandler .NET çalışma zamanından kaldırıldı ✔️

SDK

Başlık İkili uyumlu Kaynak uyumlu
Varsayılan olarak içeri aktarılan Directory.Packages.props dosyaları ✔️
Yürütülebilir proje eşleşmeyen yürütülebilir dosya başvurusunda hata oluştu ✔️
FrameworkReference, Windows SDK için WindowsSdkPackageVersion ile değiştirildi ✔️
NETCOREAPP3_1 ön işlemci simgesi tanımlanmadı ✔️
OutputType WinExe olarak ayarlandı ✔️
PublishDepsFilePath davranış değişikliği ✔️
Netcoreapp'ten net'e TargetFramework değişikliği ✔️
WinForms ve WPF uygulamaları Microsoft.NET.Sdk kullanır ✔️

Güvenlik

Başlık İkili uyumlu Kaynak uyumlu
Kod erişimi güvenlik API'leri kullanımdan kaldırıldı ✔️
PrincipalPermissionAttribute kullanımdan kaldırıldı ✔️
UTF-7 kod yolları kullanımdan kaldırıldı ✔️

Serileştirme

Başlık İkili uyumlu Kaynak uyumlu
BinaryFormatter.Deserialize rewraps özel durumları ✔️
JsonSerializer.Deserialize için tek karakterli dize gerekir ✔️
ASP.NET Core uygulamaları, teklif edilen sayıları seri durumdan çıkarma ✔️
JsonSerializer.Serialize, ArgumentNullException oluşturur ✔️
Seri durumdan çıkarma için kullanılmayan genel olmayan, parametresiz oluşturucular ✔️
Anahtar-değer çiftleri seri hale getirilirken seçeneklere dikkat edilir ✔️

Windows Forms

Başlık İkili uyumlu Kaynak uyumlu
Yerel kod Windows Forms nesnelerine erişemiyor ✔️
OutputType WinExe olarak ayarlandı ✔️
DataGridView özel yazı tiplerini sıfırlamaz ✔️
Yöntemler ArgumentException oluşturur ✔️
Yöntemler ArgumentNullException oluşturur ✔️
Özellikler ArgumentOutOfRangeException oluşturur ✔️
TextFormatFlags.ModifyString kullanımdan kaldırıldı ✔️
DataGridView API'leri InvalidOperationException oluşturur ✔️
WinForms uygulamaları Microsoft.NET.Sdk kullanır ✔️
Durum çubuğu denetimleri kaldırıldı ✔️

WPF

Başlık İkili uyumlu Kaynak uyumlu
OutputType WinExe olarak ayarlandı ✔️
WPF uygulamaları Microsoft.NET.Sdk kullanır ✔️

Ayrıca bkz.