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

Bir uygulamayı .NET 11'e geçiriyorsanız, burada listelenen önemli 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 kritik değişiklik ikili uyumsuz, kaynak uyumsuz veya davranış değişikliği olarak kategorize edilmiştir:

  • İkili dosya uyumsuzluğu - Yeni çalışma zamanına veya bileşene karşı çalıştırıldığında, mevcut ikili dosyaların yüklenememesi veya yürütülememesi gibi hatalı bir davranış değişikliğiyle karşılaşılabilir, bu durumda yeniden derleme gerekebilir.

  • 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.

Uyarı

Bu makale devam eden bir çalışmadır. .NET 11'deki önemli değişikliklerin tam listesi değildir.

ASP.NET Çekirdeği

Bkz. ASP.NET Core 11’deki önemli değişiklikler.

Çekirdek .NET kitaplıkları

Başlık Değişiklik türü
Yığın izlemesi desteği devre dışı bırakıldığında Assembly.GetCallingAssembly davranışı değişir Davranış değişikliği
CborReader ve CborWriter, varsayılan bir maksimum iç içe geçme derinliği uygular Davranış değişikliği
Karmaşık özel değer sonuçları artık C23 Ek G'yi izliyor Davranış değişikliği
ZIP arşiv girdileri okunurken CRC32 doğrulaması eklendi Davranış değişikliği
DateOnly ve TimeOnly TryParse yöntemleri geçersiz girişte istisna fırlatır Davranış değişikliği
Decimal ve BigInteger için kayan noktalı dönüşümler doğru şekilde yuvarlanır Davranış değişikliği
Boş yük için DeflateStream ve GZipStream üst ve alt bilgileri yazar Davranış değişikliği
Environment.TickCount Windows zaman aşımı davranışıyla tutarlı hale getirildi Davranış değişikliği
Math.Round ve MathF.Round doğru yuvarlanmış sonuçlar döndür Davranış değişikliği
NamedPipeServerStream ve PipeOptions.CurrentUserOnly, Unix soket dosyası izinlerini sıkılaştırır Davranış değişikliği
Nullable.GetUnderlyingType özel Tür alt sınıfları için oluşturur Davranış değişikliği
PackagePart.GetStream() ReadWrite paketlerinde sıkıştırılmış parçalar için aranamaz bir akış döndürür Davranış değişikliği
.NET 11 ile varsayılan olmayan tanılama kimlikleri için API kullanımdan kaldırmaları Kaynak uyumsuz
SafeFileHandle.IsAsync ve FileStream.IsAsync Unix'te engelleyici olmayan durumu doğru yansıtıyor Davranış değişikliği
TAR okuma API'leri okurken üst bilgi sağlama toplamlarını doğrular Davranış değişikliği
TarWriter, sabit bağlantılı dosyalar için HardLink girdilerini kullanır Davranış değişikliği
ZipArchive.CreateAsync, ZIP arşiv girdilerini hevesle yükler Davranış değişikliği

Cryptography

Başlık Değişiklik türü
API'nin kullanımdan kaldırılması Kaynak uyumsuz
Windows üzerinde bileşik ML-DSA yerel uygulama kullanır Davranış değişikliği
DSA macOS'tan kaldırıldı Davranış değişikliği
Linux AIA sertifikası getirme, zincir derlemesi başına iki getirme ile sınırlıdır Davranış değişikliği

Deployment

Başlık Değişiklik türü
.runtimeconfig.dev.json içindeki configProperties, .runtimeconfig.json dosyasındakileri geçersiz kılar Davranış değişikliği

Uzantılar

Başlık Değişiklik türü
ChangeToken.OnChange asenkron aşırı yüklemeleri mevcut Task döndüren geri çağırmaları yeniden bağlar Davranış değişikliği
FileConfigurationProvider, göz ardı edilen yükleme hatasından sonra yeniden yükleme belirteci oluşturmaz Davranış değişikliği
G/Ç hatalarında FileConfigurationSource.OnLoadException geri çağrısı çağrılır Davranış değişikliği
Bir BackgroundService başarısız olduğunda IHost.RunAsync ve IHost.StopAsync hata fırlatır Davranış değişikliği
PhysicalFilesWatcher kök ve FileSystemWatcher yollarını doğrular Davranış değişikliği
Paylaşılan çerçeveye dahil olan bazı Microsoft.Extensions paketleri Davranış değişikliği

Globalization

Başlık Değişiklik türü
Japon Takvimi desteklenen en düşük tarih düzeltildi Davranış değişikliği

Interop

Başlık Değişiklik türü
NativeAOT, Unix'te yerel kitaplık çıkışları için lib ön eki kullanır Davranış değişikliği

JIT compiler

Başlık Değişiklik türü
En düşük donanım gereksinimleri güncelleştirildi Davranış değişikliği

Ağ Oluşturma

Başlık Değişiklik türü
SslStream sunucu tarafı AIA sertifikası indirmeleri varsayılan olarak devre dışı bırakıldı Davranış değişikliği

.NET MAUI

Başlık Değişiklik türü
En düşük Android API düzeyi 24'e yükseltildi Davranış değişikliği

SDK ve MSBuild

Başlık Değişiklik türü
dnx betikleri global.json SDK seçimini atlar Davranış değişikliği
mono başlatma hedefi .NET Framework uygulamaları için ayarlanmadı Davranış değişikliği
NativeAOT CLI komut işlemesi varsayılan olarak etkindir Davranış değişikliği
NU1703, kullanım dışı bırakılan MonoAndroid çerçeve varlıklarını kullanan paketler için uyarır Kaynak uyumsuz
NuGet paketi kısıtlı karakterler içeren paket kimlikleri için uyarır Davranış değişikliği
SDK yerel kapsayıcı çalışma zamanı seçimi platforma özel araçları tercih eder Davranış değişikliği
Şablon altyapısı paketleri artık netstandard2.0'i desteklemiyor İkili/kaynak uyumsuz
VSTest, Newtonsoft.Json bağımlılığını kaldırıyor İkili/kaynak uyumsuz