Kompatibilitástörő változások a .NET 6-ban

Ha egy alkalmazást a .NET 6-ra migrál, az itt felsorolt kompatibilitástörő változások hatással lehetnek Önre. A módosítások technológiai terület szerint vannak csoportosítva, például ASP.NET Core vagy Windows Forms.

Ez a cikk azt jelzi, hogy az egyes kompatibilitástörő változások binárisan kompatibilisek vagy forráskompatibilisek-e:

  • Binárisan kompatibilis – A meglévő bináris fájlok újrafordítás nélkül sikeresen betölthetők és végrehajthatók, és a futtatókörnyezet működése nem változik.
  • Forráskompatibilis – A forráskód módosítás nélkül, az új futtatókörnyezet vagy az új SDK vagy -összetevő használatakor sikeresen lefordítható.

ASP.NET Core

Lásd a ASP.NET Core 6 kompatibilitástörő változásait.

Containers

Cím Bináris kompatibilis Forráskompatibilis
Alapértelmezett konzolnapló-formázás tárolólemezképekben ✔️

A .NET 6 tárolóinak egyéb kompatibilitástörő változásairól a .NET 6 tároló kibocsátási megjegyzéseiben olvashat.

Alapvető .NET-kódtárak

Cím Bináris kompatibilis Forráskompatibilis
API-elavulások nem alapértelmezett diagnosztikai azonosítókkal ✔️
Null értékű hivatkozástípus-széljegyzetek módosítása ✔️
Feltételes sztringek kiértékelése hibakeresési módszerekben ✔️
Environment.ProcessorCount viselkedés Windows rendszeren ✔️
EventSource-visszahívási viselkedés ✔️ ✔️
A File.Replace on Unix kivételeket ad a Windowshoz ✔️
A FileStream zárolja a Megosztott zárolással rendelkező fájlokat a Unixon ✔️
A FileStream már nem szinkronizálja a fájleltolást az operációs rendszerrel
FileStream.Position frissítések a ReadAsync vagy a WriteAsync befejeződése után
Új diagnosztikai azonosítók elavult API-khoz ✔️
Új System.Linq.Queryable metódus túlterhelése ✔️
Régebbi keretrendszerverziók elvetve a csomagból ✔️
A paraméternevek módosultak ✔️
Paraméternevek Stream-alapú típusokban ✔️
Részleges és nulla bájtos olvasások a DeflateStreamben, a GZipStreamben és a CryptoStreamben ✔️
Időbélyeg beállítása írásvédett fájlra Windows rendszeren ✔️
Standard numerikus formátum elemzési pontossága ✔️
Statikus absztrakt tagok a felületeken ✔️
StringBuilder.Append túlterhelések és kiértékelési sorrend ✔️
Strong-name API-k dobása PlatformNotSupportedException ✔️
A System.Drawing.Common csak Windows rendszeren támogatott
A System.Security.SecurityContext elavultként van megjelölve ✔️
A Task.FromResult egyszeri értéket adhat vissza ✔️
Nem kezelt kivételek a BackgroundService szolgáltatásból ✔️

Kriptográfia

Cím Bináris kompatibilis Forráskompatibilis
A CreateEncryptor metódusok kivételt okoznak a helytelen visszajelzési méret miatt ✔️

Telepítés

Cím Bináris kompatibilis Forráskompatibilis
x86 gazdagép elérési útja 64 bites Windows rendszeren ✔️ ✔️

Entity Framework Core (entitás keretrendszer mag)

Lásd az EF Core 6 újdonságait és változásait.

Bővítmények

Cím Bináris kompatibilis Forráskompatibilis
AddProvider-ellenőrzések nem null szolgáltató esetén ✔️
FileConfigurationProvider.Load throws InvalidDataException ✔️
Ismétlődő XML-elemek közé tartozik az index ✔️
Az elvetett ServiceProvider feloldása kivételt eredményez ✔️

Globalizáció

Cím Bináris kompatibilis Forráskompatibilis
Kultúra létrehozása és esetleképezés globalizációs invariant módban

Interop

Cím Bináris kompatibilis Forráskompatibilis
Statikus absztrakt tagok a felületeken ✔️

igény szerinti fordító

Cím Bináris kompatibilis Forráskompatibilis
Kényszerítés hívási argumentumai az ECMA-335 szerint ✔️ ✔️

hálózat

Cím Bináris kompatibilis Forráskompatibilis
A Kerberos és az Egyeztetés spN-éből eltávolított port ✔️
A WebRequest, a WebClient és a ServicePoint elavult ✔️

SDK

Cím Bináris kompatibilis Forráskompatibilis
-p dotnet run beállítás elavult ✔️
C#-kód a korábbi verziók által nem támogatott sablonokban ✔️ ✔️
Implicit módon tartalmazott EditorConfig-fájlok ✔️
Apphost létrehozása macOS-hez ✔️
Hiba létrehozása duplikált fájlokhoz a közzétételi kimenetben ✔️
A GetTargetFrameworkProperties és a GetNearestTargetFramework el lett távolítva a ProjectReference protokollból ✔️
Az Arm64-en emulált x64 telepítési helye ✔️
Az MSBuild már nem támogatja a GetType() meghívását
A .NET nem telepíthető egyéni helyre ✔️ ✔️
Az OutputType nincs automatikusan a WinExe értékre állítva ✔️
A ReadyToRun közzététele a --no-restore használatával módosításokat igényel ✔️
runtimeconfig.dev.json fájl nem jön létre ✔️
RuntimeIdentifier figyelmeztetés, ha az önálló nem meghatározott ✔️
Eszközjegyzékek a gyökérmappában ✔️ ✔️
A .NET 6 SDK verziókövetelményei ✔️ ✔️
A .version fájl tartalmazza a buildverziót ✔️ ✔️
Referenciaszerelvények írása a IntermediateOutputPath alkalmazásba ✔️

Szerializációs

Cím Bináris kompatibilis Forráskompatibilis
A DataContractSerializer megőrzi a jelet a -0 deszerializálásakor ✔️
A TimeSpan alapértelmezett szerializálási formátuma ✔️
IAsyncEnumerable szerializálás ✔️
JSON-forrásgenerációs API újrabontása ✔️
JsonNumberHandlingAttribute a gyűjtemény tulajdonságain ✔️
Új JsonSerializer-forrásgenerátor túlterhelései ✔️

Windows Forms

Cím Bináris kompatibilis Forráskompatibilis
A C#-sablonok alkalmazás-rendszerindítást használnak ✔️
A Kijelölt TableLayoutSettings tulajdonságok az InvalidEnumArgumentException elvetését eredményezik ✔️
A DataGridView-val kapcsolatos API-k mostantól invalidOperationException-et dobnak ✔️
ListViewGroupCollection metódusok új InvalidOperationException ✔️
NotifyIcon.Text a szöveg maximális hosszának növelése ✔️
A ScaleControl csak akkor hívható meg, ha szükséges ✔️
Egyes API-k az ArgumentNullException elvetődnek ✔️
A TreeNodeCollection.Item kivételt jelez, ha a csomópont máshol van hozzárendelve ✔️

XML és XSLT

Cím Bináris kompatibilis Forráskompatibilis
XNodeReader.GetAttribute viselkedés érvénytelen index esetén ✔️

Lásd még