Aracılığıyla paylaş


.NET 7'de hataya neden olan değişiklikler

Bir uygulamayı .NET 7'ye 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
API denetleyicisi eylemleri, DI'den parametreleri çıkarmaya çalışır ✔️
ASPNET ön ekli ortam değişkeni önceliği ✔️ ✔️
Uzak kimlik doğrulama sağlayıcıları için AuthenticateAsync ✔️
WebAssembly uygulamalarında kimlik doğrulaması ✔️
Varsayılan kimlik doğrulama düzeni ✔️
Bazı Microsoft.AspNetCore.Mvc.Core günlük iletilerinin olay kimlikleri değiştirildi ✔️
Geri dönüş dosyası uç noktaları ✔️
IHubClients ve IHubCallerClients üyeleri gizler ✔️
Kestrel: Varsayılan HTTPS bağlaması kaldırıldı ✔️
Microsoft.AspNetCore.Server.Kestrel. Transport.Libuv ve libuv.dll kaldırıldı
Microsoft.Data.SqlClient 4.0.1 olarak güncelleştirildi ✔️
Ara yazılım artık null istek temsilcisiyle uç noktaya sapmaz ✔️
MVC'nin model bağlamasında boş bir gövde algılaması değişti ✔️
Çıktı önbelleğe alma API'si değişiklikleri
SignalR Hub yöntemleri DI'den parametreleri çözümlemeye çalışır ✔️

Core .NET kitaplıkları

Başlık İkili uyumlu Kaynak uyumlu
Varsayılan tanılama kimliğine sahip API obsoletions ✔️
Varsayılan olmayan tanılama kimlikleriyle API obsolet'leri ✔️
BinaryFormatter serileştirme API'leri derleyici hataları üretir ✔️
BrotliStream artık tanımsız CompressionLevel değerlerine izin vermiyor ✔️
Visual Studio'da C++/CLI projeleri ✔️
Yansıma değişiklikleri API özel durumlarını çağırır ✔️
Toplanamaz AssemblyLoadContext içinde Collectible Derlemesi ✔️
DateTime ekleme yöntemleri duyarlık değişikliği ✔️ ✔️
NaN için eşittir yöntemi davranış değişikliği ✔️
EventSource geri çağırma davranışı ✔️ ✔️
PatternContext<T'de genel tür kısıtlaması>
Eski FileStream stratejisi kaldırıldı ✔️
Eski çerçeveler için kitaplık desteği
Sayısal biçim dizeleri için en yüksek duyarlık ✔️
Aralıkların düzeltilmiş olduğu regex desenleri ✔️ ✔️
SerializationFormat.Binary kullanımdan kaldırıldı
System.Drawing.Common yapılandırma anahtarı kaldırıldı ✔️ ✔️
System.Runtime.CompilerServices.Unsafe NuGet paketi ✔️ ✔️
Sembolik bağlantılardaki zaman alanları ✔️
Bağlı önbellek girdilerini izleme ✔️
BrotliStream için CompressionLevel Doğrulama ✔️

Yapılandırma

Başlık İkili uyumlu Kaynak uyumlu
app.config dosyasında System.diagnostics girdisi ✔️

Şifreleme

Başlık İkili uyumlu Kaynak uyumlu
EnvelopedCms şifresi iki kez açılmaz ✔️
Dinamik X509ChainPolicy doğrulama süresi ✔️
X500DistinguishedName kolay adları ayrıştırma ✔️

Dağıtım

Başlık İkili uyumlu Kaynak uyumlu
Varsayılan olarak kırpılan tüm derlemeler ✔️
Çok düzeyli arama devre dışı bırakıldı ✔️
64 bit Windows'ta x86 konak yolu ✔️ ✔️
TrimmerDefaultAction kullanım dışı bırakıldı ✔️

Entity Framework Core

EF Core 7'de hataya neden olan değişiklikler

Uzantıları

Başlık İkili uyumlu Kaynak uyumlu
Yapılandırmayı sözlüğe bağlama değerleri genişletir ✔️ ✔️
Windows Shell tarafından başlatılan uygulamalar için ContentRootPath ✔️
Ortam değişkeni ön ekleri ✔️

Globalleştirme

Başlık İkili uyumlu Kaynak uyumlu
Genelleştirme API'leri Windows Server'da ICU kitaplıklarını kullanır ✔️

Interop

Başlık İkili uyumlu Kaynak uyumlu
Öykünme altında RuntimeInformation.OSArchitecture ✔️

.NET MAUI

Başlık İkili uyumlu Kaynak uyumlu
Oluşturucular beton türü yerine temel arabirimi kabul eder ✔️
Akış yönü yardımcı yöntemleri kaldırıldı
Yeni UpdateBackground parametresi ✔️
ScrollToRequest özelliği yeniden adlandırıldı
Bazı Windows API'leri kaldırıldı

Başlık İkili uyumlu Kaynak uyumlu
AllowRenegotiation varsayılan değeri false
Linux'ta özel ping yükleri ✔️
Socket.End yöntemleri ObjectDisposedException oluşturmaz ✔️

SDK ve MSBuild

Başlık İkili uyumlu Kaynak uyumlu
Belirli projeler için Otomatik RuntimeIdentifier ✔️
Yalnızca yayımlama için Otomatik RuntimeIdentifier
CLI konsol çıkışı UTF-8 kullanıyor
Tamamlandıktan sonra konsol kodlaması UTF-8 değil ✔️
.NET 7'de özel türlerin MSBuild seri hale getirilmesi
Yan yana SDK yüklemeleri
Kök klasördeki araç bildirimleri ✔️ ✔️
.NET 7 SDK için sürüm gereksinimleri ✔️ ✔️
dotnet testi: yerine diğer adlara --arch geçin -a--test-adapter-path
dotnet testi: yerine diğer adlara --runtime geçin -r--results-dir
--output seçenek artık çözüm düzeyindeki komutlar için geçerli değil
SDK artık ResolvePackageDependencies'i çağırmıyor ✔️

Serileştirme

Başlık İkili uyumlu Kaynak uyumlu
-0 seri durumdan çıkarılırken DataContractSerializer işareti korur ✔️
Sürüm türünü baştaki veya sondaki boşlukla seri durumdan çıkarma ✔️
JsonSerializerOptions kopya oluşturucu JsonSerializerContext içerir ✔️
Nesne türleri için çok biçimli serileştirme ✔️
System.Text.Json kaynak oluşturucu geri dönüşü ✔️

Windows Forms

Başlık İkili uyumlu Kaynak uyumlu
Obsoletions ve uyarılar ✔️
Bazı API'ler ArgumentNullException oluşturur ✔️

WPF

Başlık İkili uyumlu Kaynak uyumlu Geriye dönük uyumlu
Metin düzenleyicilerde geri yüklenen sürükle ve bırak işlemleri davranışı ✔️ ✔️

XML ve XSLT

Başlık İkili uyumlu Kaynak uyumlu
XmlSecureResolver kullanımdan kaldırıldı

Ayrıca bkz.