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

Nadpis Typ změny Zavedená verze
DefaultKeyResolution.ShouldGenerateNewKey změnil význam Změna chování Preview 3
Export vývojového certifikátu už nesloží složku. Změna chování RC 1
HostBuilder umožňuje validateOnBuild/ValidateScopes ve vývojovém prostředí. Změna chování Preview 7
Stará rozhraní API Mono a Emscripten nejsou exportována do globálního oboru názvů Nekompatibilní zdroj GA
Typy middlewaru s více konstruktory Změna chování RC 1

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ě

Nadpis Typ změny Zavedená verze
Obsoletions rozhraní API Nekompatibilní zdroj Preview 6
Sestava server.port metrik HttpClient bezpodmínečně Změna chování Preview 7
Protokolování HttpClientFactory ve výchozím nastavení aktualizuje hodnoty hlaviček. Změna chování RC 1
HttpClientFactory používá SocketsHttpHandler jako primární obslužnou rutinu. Změna chování Preview 6
HttpListenerRequest.UserAgent je nullable Nekompatibilní zdroj Preview 1
Redaction dotazu URI v událostech HttpClient EventSource Změna chování Preview 7
Redaction dotazu URI v protokolech IHttpClientFactory Změna chování Preview 7

SDK a MSBuild

Nadpis Typ změny Zavedená verze
dotnet restore audituje tranzitivní balíčky Změna chování Preview 6
dotnet watchnekompatibilní s Opětovné načítání za provozu pro staré architektury Změna chování RC 1
dotnet workload změna výstupu příkazů Změna chování Preview 1
installer Verze úložiště už není zdokumentovaná. Změna chování Preview 5
Výchozí nastavení protokolovacího nástroje terminálu Změna chování Preview 1
Požadavky na verzi pro sadu .NET 9 SDK Nekompatibilní zdroj GA
Upozornění generované pro cíl .NET Standard 1.x Nekompatibilní zdroj Preview 6
Upozornění generované pro cíl .NET 7 Nekompatibilní zdroj GA

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é