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
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 watch nekompatibilní 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 |