Číst v angličtině

Sdílet prostřednictvím


Zásadní změny v .NET 9

Pokud migrujete aplikaci na .NET 9, můžou vás tyto zásadní změny ovlivnit. Změny jsou seskupené podle oblasti technologií, jako je ASP.NET Core nebo model Windows Forms.

Tento článek kategorizuje každou změnu způsobující chybu jako binární nekompatibilní nebo nekompatibilní zdroj nebo jako behaviorální změnu:

  • Binární nekompatibilní – Při spuštění proti novému modulu runtime nebo součásti mohou existující binární soubory narazit na zásadní změnu chování, například selhání načtení nebo spuštění, a pokud ano, vyžadují rekompilace.

  • Zdroj nekompatibilní – Při opětovném zkompilování pomocí nové sady SDK nebo komponenty nebo cílení na nový modul runtime může stávající zdrojový kód vyžadovat úspěšné kompilace zdrojových změn.

  • Změna chování – Existující kód a binární soubory se můžou v době běhu chovat odlišně. Pokud je nové chování nežádoucí, stávající kód bude potřeba aktualizovat a znovu zkompilovat.

Poznámka

Tento článek probíhá. Nejedná se o úplný seznam zásadních změn v .NET 9. Pokud chcete dotazovat změny způsobující chyby, které jsou stále čekající na publikování, přečtěte si téma Problémy s .NET.

ASP.NET Core

Kontejnery

Nadpis Typ změny Zavedená verze
obrazy kontejneru už neinstalují zlib Změna chování Preview 7
Bitové kopie .NET Monitor byly zjednodušeny na značky obsahující pouze verzi Změna chování Preview 5

Knihovny Core .NET

Nadpis Typ změny Zavedená verze
Přidání zipArchiveEntry s compressionLevel nastaví hlavičku centrálního adresáře ZIP pro obecné účely příznaky bitů Změna chování Preview 5
Podpora altered UnsafeAccessor pro neotevřené obecné typy Změna chování Preview 6
Obsoletions rozhraní API s vlastními diagnostickými ID Nekompatibilní zdroj (Násobek)
Maximální délka bigInteger Změna chování Preview 6
BinaryReader.GetString() vrátí "\uFFFD" u poškozených sekvencí. Změna chování Preview 7
Vytvoření typu pole System.Void není povoleno Změna chování Preview 1
Výchozí Equals() a GetHashCode() vyvolání pro typy označené pomocí InlineArrayAttribute Změna chování Preview 6
EnumConverter ověřuje registrované typy jako výčtu. Změna chování Preview 7
FromKeyedServicesAttribute už neinjektuje neklíčový parametr. Změna chování RC 1
Počáteční zpětné volání IncrementingPollingCounter je asynchronní Změna chování RC 1
Vynucuje se limit velikosti vložené struktury pole. Změna chování Preview 1
InMemoryDirectoryInfo prepends rootDir to files Změna chování Preview 1
New TimeSpan.From*() přetížení, která přebírají celá čísla Nekompatibilní zdroj Preview 3
nová verze některých balíčků OOB Nekompatibilní zdroj Preview 5
RuntimeHelpers.GetSubArray vrátí jiný typ. Změna chování Preview 1
String.Trim(params ReadOnlySpan<char>) přetížení odebráno Nekompatibilní zdroj/binární soubor GA
Podpora prázdných proměnných prostředí Změna chování Preview 6
Názvy zipArchiveEntry a komentáře respektují příznak UTF8 Změna chování RC 1

Kryptografie

Nadpis Typ změny Zavedená verze
SafeEvpPKeyHandle.DuplicateHandle up-refs popisovač Změna chování Preview 7
Některé konstruktory X509Certificate2 a X509Certificate jsou zastaralé. Nekompatibilní zdroj Preview 7
Zjednodušená životnost privátního klíče Windows Změna chování Preview 7

Nasazení

Nadpis Typ změny Zavedená verze
Zastaralé balíčky modulu runtime Windows/macOS/Linux MonoVM Nekompatibilní zdroj Preview 7

Zprostředkovatel komunikace

Nadpis Typ změny Zavedená verze
Funkce CET je ve výchozím nastavení podporovaná Binární nekompatibilní Preview 6

Kompilátor JIT

Nadpis Typ změny Zavedená verze
Převody s plovoucí desetinou čárkou na celá čísla jsou nasycené Změna chování Preview 4
Některá rozhraní API SVE byla odebrána. Nekompatibilní zdroj RC 2

Sítě

SDK a MSBuild

Serializace

Nadpis Typ změny Zavedená verze
BinaryFormatter vždy vyvolá výjimku Změna chování Preview 6
Nullable vlastnosti JsonDocument se deserializují na JsonValueKind.Null Změna chování Preview 1

Windows Forms

Nadpis Typ změny Zavedená verze
BindingSource.SortDescriptions nevrací hodnotu null. Změna chování Preview 1
Změny poznámek s hodnotou nullability Nekompatibilní zdroj Preview 1
ComponentDesigner.Initialize vyvolá Výjimku ArgumentNullException Změna chování Preview 1
DataGridViewRowAccessibleObject.Name počátečního indexu řádku Změna chování Preview 1
Podpora IMsoComponent je opt-in Změna chování Preview 2
Nové analyzátory zabezpečení Nekompatibilní zdroj RC 1
Žádná výjimka, pokud dataGridView má hodnotu null Změna chování Preview 1
PictureBox vyvolává výjimky HttpClient Změna chování Preview 6

WPF

Nadpis Typ změny Zavedená verze
GetXmlNamespaceMaps změna typu Změna chování / Nekompatibilní zdroj Preview 3

Viz také