.NET 6'da hataya neden olan değişiklikler

Bir uygulamayı .NET 6'ya 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ş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
ActionResult<T> , StatusCode değerini 200 olarak ayarlar ✔️
AddDataAnnotationsValidation yöntemi kullanımdan kaldırıldı ✔️
Paylaşılan çerçeveden kaldırılan derlemeler Microsoft.AspNetCore.App ✔️
Blazor: RequestImageFileAsync yönteminde parametre adı değiştirildi ✔️
Blazor: WebEventDescriptor.EventArgsType özelliği değiştirildi
Blazor: Bayt dizisi birlikte çalışma ✔️
Changed MessagePack library in @microsoft/signalr-protocol-msgpack ✔️
ClientCertificate özelliği HttpSys için yeniden anlaşma tetiklemez ✔️
EndpointName meta verileri otomatik olarak ayarlanmadı ✔️
Kimlik: Kullanıcı arabiriminin varsayılan Bootstrap sürümü değiştirildi
Kestrel: Günlük iletisi öznitelikleri değiştirildi ✔️
Microsoft.AspNetCore.Http.Features bölme ✔️
Ara Yazılım: HTTPS Yeniden Yönlendirme Ara Yazılımı belirsiz HTTPS bağlantı noktalarında özel durum oluşturur ✔️
Ara yazılım: Yeni Aşırı yükleme kullan ✔️
RC 1'de en az API yeniden adlandırması
RC 2'de en az API yeniden adlandırması
MVC, System.Text.Json kullanırken IAsyncEnumerable türlerini arabelleğe almaz ✔️
Null atanabilir başvuru türü ek açıklamaları değiştirildi ✔️
Engellenen ve kaldırılan API'ler ✔️
PreserveCompilationContext varsayılan olarak yapılandırılmadı ✔️
Razor: Derleyici artık Bir Görünümler derlemesi üretmez ✔️
Razor: Günlük kimliği değişiklikleri ✔️
Razor: RazorAltyapı API'leri kullanım dışı olarak işaretlendi ✔️
SignalR: Java İstemcisi RxJava3 olarak güncelleştirildi ✔️
TryParse ve BindAsync yöntemleri doğrulandı

Kapsayıcılar

Başlık İkili uyumlu Kaynak uyumlu
Kapsayıcı görüntülerinde varsayılan konsol günlükçü biçimlendirmesi ✔️

.NET 6'da kapsayıcılar için diğer hataya neden olan değişiklikler hakkında bilgi için bkz . .NET 6 Kapsayıcı Sürüm Notları.

Core .NET kitaplıkları

Başlık İkili uyumlu Kaynak uyumlu
Varsayılan olmayan tanılama kimlikleriyle API obsolet'leri ✔️
Null atanabilir başvuru türü ek açıklamalarında yapılan değişiklikler ✔️
Hata ayıklama yöntemlerinde koşullu dize değerlendirmesi ✔️
Windows'ta Environment.ProcessorCount davranışı ✔️
EventSource geri çağırma davranışı ✔️ ✔️
Unix'te File.Replace, Windows ile eşleşecek özel durumlar oluşturur ✔️
FileStream, Unix'te paylaşılan kilit ile dosyaları kilitler ✔️
FileStream artık dosya uzaklığını işletim sistemiyle eşitlemez
ReadAsync veya WriteAsync tamamlandıktan sonra FileStream.Position güncelleştirmeleri
Engellenen API'ler için yeni tanılama kimlikleri ✔️
Yeni System.Linq.Queryable yöntemi aşırı yüklemeleri ✔️
Paketten bırakılan eski çerçeve sürümleri ✔️
Parametre adları değiştirildi ✔️
Stream türetilmiş türlerdeki parametre adları ✔️
DeflateStream, GZipStream ve CryptoStream'de kısmi ve sıfır bayt okumaları ✔️
Windows'da salt okunur dosyada zaman damgası ayarlama ✔️
Standart sayısal biçim ayrıştırma duyarlığı ✔️
Arabirimlerdeki statik soyut üyeler ✔️
StringBuilder.Append aşırı yüklemeleri ve değerlendirme sırası ✔️
Tanımlayıcı ad API'leri PlatformNotSupportedException oluşturur ✔️
System.Drawing.Common yalnızca Windows'ta desteklenir
System.Security.SecurityContext eski olarak işaretlendi ✔️
Task.FromResult tekil döndürebilir ✔️
BackgroundService'ten işlenmeyen özel durumlar ✔️

Şifreleme

Başlık İkili uyumlu Kaynak uyumlu
CreateEncryptor yöntemleri yanlış geri bildirim boyutu için özel durum oluşturuyor ✔️

Dağıtım

Başlık İkili uyumlu Kaynak uyumlu
64 bit Windows'ta x86 konak yolu ✔️ ✔️

Entity Framework Core

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

Uzantıları

Başlık İkili uyumlu Kaynak uyumlu
AddProvider null olmayan sağlayıcı için denetimler ✔️
FileConfigurationProvider.Load InvalidDataException oluşturur ✔️
Yinelenen XML öğeleri dizin içerir ✔️
Atılan ServiceProvider'ın çözümlenmesi özel durum oluşturur ✔️

Globalleştirme

Başlık İkili uyumlu Kaynak uyumlu
Genelleştirme sabit modunda kültür oluşturma ve büyük/küçük harf eşleme

Interop

Başlık İkili uyumlu Kaynak uyumlu
Arabirimlerdeki statik soyut üyeler ✔️

JIT derleyicisi

Başlık İkili uyumlu Kaynak uyumlu
ECMA-335'e göre zorlama çağrısı bağımsız değişkenleri ✔️ ✔️

Başlık İkili uyumlu Kaynak uyumlu
Kerberos ve Anlaşma için SPN'den bağlantı noktası kaldırıldı ✔️
WebRequest, WebClient ve ServicePoint kullanımdan kaldırıldı ✔️

SDK

Başlık İkili uyumlu Kaynak uyumlu
-p seçeneği dotnet run kullanım dışı bırakıldı ✔️
Önceki sürümler tarafından desteklenmeyen şablonlardaki C# kodu ✔️ ✔️
EditorConfig dosyaları örtük olarak dahil ✔️
macOS için apphost oluşturma ✔️
Yayımlama çıktısında yinelenen dosyalar için hata oluşturma ✔️
ProjectReference protokolünden GetTargetFrameworkProperties ve GetNearestTargetFramework kaldırıldı ✔️
Arm64'te öykünen x64 için yükleme konumu ✔️
MSBuild artık GetType() çağrılma desteğine sahip değil
.NET özel konuma yüklenemiyor ✔️ ✔️
OutputType otomatik olarak WinExe olarak ayarlanmadı ✔️
--no-restore ile ReadyToRun yayımlamak için değişiklikler gerekir ✔️
runtimeconfig.dev.json dosyası oluşturulmaz ✔️
Bağımsız öğe belirtilmemişse RuntimeIdentifier uyarısı ✔️
Kök klasördeki araç bildirimleri ✔️ ✔️
.NET 6 SDK için sürüm gereksinimleri ✔️ ✔️
.version dosyası derleme sürümünü içerir ✔️ ✔️
IntermediateOutputPath'e başvuru derlemeleri yazma ✔️

Serileştirme

Başlık İkili uyumlu Kaynak uyumlu
-0 seri durumdan çıkarılırken DataContractSerializer işareti korur ✔️
TimeSpan için varsayılan serileştirme biçimi ✔️
IAsyncEnumerable serileştirme ✔️
JSON kaynak oluşturma API'sini yeniden düzenleme ✔️
Koleksiyon özelliklerinde JsonNumberHandlingAttribute ✔️
Yeni JsonSerializer kaynak oluşturucu aşırı yüklemeleri ✔️

Windows Forms

Başlık İkili uyumlu Kaynak uyumlu
C# şablonları uygulama önyüklemesi kullanır ✔️
Seçili TableLayout Ayarlar özellikleri InvalidEnumArgumentException oluşturur ✔️
DataGridView ile ilgili API'ler artık InvalidOperationException oluşturur ✔️
ListViewGroupCollection yöntemleri yeni InvalidOperationException oluşturur ✔️
NotifyIcon.Text maksimum metin uzunluğu artırıldı ✔️
ScaleControl yalnızca gerektiğinde çağrılır ✔️
Bazı API'ler ArgumentNullException oluşturur ✔️
Node başka bir yere atandıysa TreeNodeCollection.Item özel durum oluşturur ✔️

XML ve XSLT

Başlık İkili uyumlu Kaynak uyumlu
Geçersiz dizin için XNodeReader.GetAttribute davranışı ✔️

Ayrıca bkz.