Megosztás a következőn keresztül:


Kompatibilitástörő változások a .NET 9-ben

Ha egy alkalmazást .NET 9-re 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 az egyes kompatibilitástörő változásokat binárisan nem kompatibilisként vagy nem kompatibilis forrásként, illetve viselkedési változásként kategorizálja:

  • Bináris inkompatibilis – Ha az új futtatókörnyezeten vagy -összetevőn fut, a meglévő bináris fájlok működésbeli kompatibilitástörő változásba ütközhetnek, például a betöltés vagy a végrehajtás meghiúsulása, és ha igen, újrafordítást igényelnek.

  • Nem kompatibilis forrás – Ha az új SDK-val vagy -összetevővel újrafordított, vagy az új futtatókörnyezetet célozza meg, előfordulhat, hogy a meglévő forráskód a forrásmódosítások sikeres fordítását igényli.

  • Viselkedésbeli változás – A meglévő kód és bináris fájlok futásidőben eltérően viselkedhetnek. Ha az új viselkedés nem kívánatos, a meglévő kódot frissíteni és újra kell lefordítani.

Feljegyzés

Ez a cikk egy folyamatban lévő munka. Ez nem a .NET 9 kompatibilitástörő változásainak teljes listája. A még függőben lévő módosítások lekérdezéséhez tekintse meg a .NET problémáit.

ASP.NET Core

Cím A módosítás típusa Bevezetett verzió
DefaultKeyResolution.ShouldGenerateNewKey megváltozott jelentés Viselkedésbeli változás 3. előzetes verzió
A dev cert exportálása már nem hoz létre mappát Viselkedésbeli változás RC 1
A HostBuilder engedélyezi a ValidateOnBuild/ValidateScopes használatát fejlesztési környezetben Viselkedésbeli változás 7. előzetes verzió
Örökölt Mono és Emscripten API-k nem exportálhatók a globális névtérbe A forrás nem kompatibilis FE
Middleware-típusok több konstruktorsal Viselkedésbeli változás RC 1

Tárolók

Cím A módosítás típusa Bevezetett verzió
A konténerképek már nem telepítik a zlib-et Viselkedésbeli változás 7. előzetes verzió
.NET Monitor-rendszerképek csak verziócímkékre egyszerűsítve Viselkedésbeli változás 5. előzetes verzió

Alapvető .NET-kódtárak

Cím A módosítás típusa Bevezetett verzió
ZipArchiveEntry hozzáadása CompressionLevel-készletekkel A ZIP központi könyvtárfejléc általános célú bitjelzői Viselkedésbeli változás 5. előzetes verzió
A nem nyitott általános generikusok módosított Nem biztonságos elérő támogatása Viselkedésbeli változás 6. előzetes verzió
API-elavulások egyéni diagnosztikai azonosítókkal A forrás nem kompatibilis (Több)
StringValues implicit operátorokat érintő nem egyértelmű túlterhelés-feloldás A forrás nem kompatibilis FE
BigInteger maximális hossza Viselkedésbeli változás 6. előzetes verzió
A BinaryReader.GetString() a "\uFFFD" értéket adja vissza hibásan formázott szekvenciákon Viselkedésbeli változás 7. előzetes verzió
C# túlterhelés feloldása params span-típusú túlterheléseket részesíti előnyben. A forrás nem kompatibilis
A System.Void tömbtípus létrehozása nem engedélyezett Viselkedésbeli változás 1. előzetes verzió
Alapértelmezett Equals() és GetHashCode() dobás a következővel megjelölt típusok esetén: InlineArrayAttribute Viselkedésbeli változás 6. előzetes verzió
Az EnumConverter ellenőrzi, hogy a regisztrált típusok enumerálhatók-e Viselkedésbeli változás 7. előzetes verzió
A FromKeyedServicesAttribute már nem injektálja a nem kulcsos paramétert Viselkedésbeli változás RC 1
A IncrementingPollingCounter kezdeti visszahívása aszinkron Viselkedésbeli változás RC 1
A beágyazott tömbszerkezet méretkorlátja kényszerítve van Viselkedésbeli változás 1. előzetes verzió
Az InMemoryDirectoryInfo előtagja a rootDir fájlokat Viselkedésbeli változás 1. előzetes verzió
New TimeSpan.From*() túlterhelések, amelyek egész számokat vesznek igénybe A forrás nem kompatibilis 3. előzetes verzió
egyes OOB-csomagok új verziója A forrás nem kompatibilis 5. előzetes verzió
A RuntimeHelpers.GetSubArray eltérő típust ad vissza Viselkedésbeli változás 1. előzetes verzió
String.Trim(params ReadOnlySpan<char>) túlterhelés eltávolítva Forrás/bináris nem kompatibilis FE
Üres környezeti változók támogatása Viselkedésbeli változás 6. előzetes verzió
A ZipArchiveEntry nevei és megjegyzései tiszteletben tartják az UTF8 jelzőt Viselkedésbeli változás RC 1

Kriptográfia

Cím A módosítás típusa Bevezetett verzió
SafeEvpPKeyHandle.DuplicateHandle up-refs a leíró Viselkedésbeli változás 7. előzetes verzió
Néhány X509Certificate2 és X509Certificate konstruktor elavult A forrás nem kompatibilis 7. előzetes verzió
A Windows titkos kulcs élettartama egyszerűbb Viselkedésbeli változás 7. előzetes verzió

Telepítés

Cím A módosítás típusa Bevezetett verzió
Elavult asztali Windows/macOS/Linux MonoVM futtatókörnyezeti csomagok A forrás nem kompatibilis 7. előzetes verzió

Interop

Cím A módosítás típusa Bevezetett verzió
Alapértelmezés szerint támogatott CET Bináris inkompatibilis 6. előzetes verzió

JIT-fordító

Cím A módosítás típusa Bevezetett verzió
A lebegőpontos és az egész számra történő átalakítások telítettek Viselkedésbeli változás 4. előzetes verzió
Néhány SVE API el lett távolítva A forrás nem kompatibilis RC 2

Hálózat

Cím A módosítás típusa Bevezetett verzió
API-elavulások A forrás nem kompatibilis 6. előzetes verzió
HttpClient-metrikák jelentése server.port feltétel nélkül Viselkedésbeli változás 7. előzetes verzió
A HttpClientFactory naplózása alapértelmezés szerint újrakidolgozta a fejlécértékeket Viselkedésbeli változás RC 1
A HttpClientFactory elsődleges kezelőként a SocketsHttpHandlert használja Viselkedésbeli változás 6. előzetes verzió
A HttpListenerRequest.UserAgent értéke null értékű A forrás nem kompatibilis 1. előzetes verzió
URI-lekérdezés újraaction a HttpClient EventSource-eseményekben Viselkedésbeli változás 7. előzetes verzió
URI-lekérdezés újrabontása az IHttpClientFactory-naplókban Viselkedésbeli változás 7. előzetes verzió

SDK és MSBuild

Cím A módosítás típusa Bevezetett verzió
dotnet restore tranzitív csomagok naplózása Viselkedésbeli változás 6. előzetes verzió
dotnet sln add nem engedélyezi az érvénytelen fájlneveket Viselkedésbeli változás 9.0.2xx
dotnet watch nem kompatibilis a gyakori elérésű újratöltéssel a régi keretrendszerekhez Viselkedésbeli változás RC 1
dotnet workload parancsok kimenetének módosítása Viselkedésbeli változás 1. előzetes verzió
installer az adattár verziója már nincs dokumentálva Viselkedésbeli változás 5. előzetes verzió
Új alapértelmezett RID a .NET-keretrendszer célzásához A forrás nem kompatibilis FE
A terminálnaplózó alapértelmezett Viselkedésbeli változás 1. előzetes verzió
A .NET 9 SDK verziókövetelményei A forrás nem kompatibilis FE
Figyelmeztetés a .NET Standard 1.x-célhoz A forrás nem kompatibilis 6. előzetes verzió
Figyelmeztetés a .NET 7-célhoz A forrás nem kompatibilis FE

Szerializációs

Cím A módosítás típusa Bevezetett verzió
A BinaryFormatter mindig dob Viselkedésbeli változás 6. előzetes verzió
Nullázható JsonDocument-tulajdonságok deszerializálódnak JsonValueKind.Null Viselkedésbeli változás 1. előzetes verzió
A System.Text.Json metaadat-olvasó mostantól feloldja a metaadat-tulajdonságneveket. Viselkedésbeli változás FE

Windows Forms

Cím A módosítás típusa Bevezetett verzió
A BindingSource.SortDescriptions nem null értéket ad vissza Viselkedésbeli változás 1. előzetes verzió
Érvénytelenségi széljegyzetek módosítása A forrás nem kompatibilis 1. előzetes verzió
ComponentDesigner.Initialize throws ArgumentNullException Viselkedésbeli változás 1. előzetes verzió
DataGridViewRowAccessibleObject.Name kezdősor-index Viselkedésbeli változás 1. előzetes verzió
Az IMsoComponent támogatása engedélyezve van Viselkedésbeli változás 2. előzetes verzió
Új biztonsági elemzők A forrás nem kompatibilis RC 1
Nincs kivétel, ha a DataGridView null értékű Viselkedésbeli változás 1. előzetes verzió
A PictureBox httpClient-kivételeket emel ki Viselkedésbeli változás 6. előzetes verzió
StatusStrip egy másik alapértelmezett renderelőt használ Viselkedésbeli változás FE

WPF

Cím A módosítás típusa Bevezetett verzió
GetXmlNamespaceMaps típusmódosítás Viselkedésbeli változás/Nem kompatibilis forrás 3. előzetes verzió

Lásd még