Sdílet prostřednictvím


Zásadní změny v .NET 10

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

Tento článek kategorizuje každou zásadní změnu jako binárně nekompatibilní nebo zdrojově nekompatibilní, nebo jako změnu v chování:

  • Binarita je nekompatibilní – při spuštění v novém runtime nebo komponentě mohou existující binární soubory narazit na zásadní změnu chování, jako je selhání při načítání nebo spuštění, a v takovém případě vyžadují rekompilaci.

  • 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 chovat jinak za běhu. 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 10.

ASP.NET Core

Podívejte se na zásadní změny v ASP.NET Core 10.

Containers

Title Typ změny
Výchozí image .NET používají Ubuntu Změna chování

Základní knihovny .NET

Title Typ změny
Zastaralost rozhraní API Nekompatibilní zdroj
Změna chování ActivitySource.CreateActivity a ActivitySource.StartActivity Změna chování
Méně závažná zátěž Arm64 SVE vyžaduje masku Binární nebo zdroj nekompatibilní
BufferedStream.WriteByte už neprovádí implicitní vyprázdnění. Změna chování
Řešení přetížení v C# 14 s parametry typu span Změna chování
Konzistentní chování posunu v obecné matematikě Změna chování
Výchozí propagátor kontextu sledování aktualizován na standard W3C Změna chování
DriveInfo.DriveFormat vrátí typy systému souborů Linuxu. Změna chování
DynamickyaccessedMembers anotace odebraná z atributu DefaultValueAttribute ctor Binární nebo zdroj nekompatibilní
Explicitní velikost struktury nepovolená pomocí inlineArray Binární nekompatibilní
FilePatternMatch.Stem se změnil na hodnotu non-nullable Nekompatibilní/behaviorální změna zdroje
GnuTarEntry a PaxTarEntry už ve výchozím nastavení neobsahují atime a ctime. Změna chování
Analýza Adresáře LDAP je teď přísnější Změna chování
Normalizace verzí MacCatalyst Změna chování
Modul runtime .NET již neposkytuje výchozí obslužné rutiny signálu ukončení. Změna chování
System.Linq.AsyncEnumerable zahrnuto v základních knihovnách Nekompatibilní zdroj
Ověření argumentu Type.MakeGenericSignatureType Změna chování

Cryptography

Title Typ změny
CompositeMLDsa aktualizováno na verzi návrhu 08 Změna chování
CoseSigner.Key může mít hodnotu null. Behaviorální/zdroj nekompatibilní změna
Přejmenování členů MLDsa a SlhDsa SecretKey Nekompatibilní zdroj
Kryptografické primitivy OpenSSL se v macOS nepodporují. Změna chování
OpenSSL 1.1.1 nebo novější vyžadované v systému Unix Změna chování
Ověření X500DistinguishedName je přísnější Změna chování
Parametry klíče X509Certificate a PublicKey můžou mít hodnotu null. Behaviorální/zdroj nekompatibilní změna
Proměnná prostředí byla přejmenována na DOTNET_OPENSSL_VERSION_OVERRIDE Změna chování

Entity Framework Core

Podívejte se na zásadní změny v EF Core 10.

Extensions

Title Typ změny
BackgroundService spouští všechny executeAsync jako úlohu. Změna chování
Oprava problémů s GetKeyedService() a GetKeyedServices() pomocí AnyKey Změna chování
Hodnoty null zachované v konfiguraci Změna chování
Zpráva se už ve výstupu protokolu konzoly nezdvojila Změna chování
ProviderAliasAttribute přesunuto do sestavení Microsoft.Extensions.Logging.Abstractions Nekompatibilní zdroj
Byla odstraněna anotace DynamickyAccessedMembers z kódu Microsoft.Extensions.Configuration, který není bezpečný pro ořezávání Binární nekompatibilní

Globalization

Title Typ změny
Proměnná prostředí byla přejmenována na DOTNET_ICU_VERSION_OVERRIDE Změna chování

Nástroj pro instalaci

Title Typ změny
dotnet.acquire API pro VS Code už ne vždy stahuje nejnovější Změna chování

Interop

Title Typ změny
Přetypování COM objektu IDispatchEx na IReflect selže Změna chování
Jednosouborové aplikace už nehledají nativní knihovny ve spustitelném adresáři. Změna chování
Určení DllImportSearchPath.AssemblyDirectory prohledá pouze adresář sestavení. Změna chování

Sítě

Title Typ změny
Podpora HTTP/3 je ve výchozím nastavení zakázaná s funkcí PublishTrimmed Nekompatibilní zdroj
MailAddress vynucuje ověření pro po sobě jdoucí tečky. Změna chování
Streamování odpovědí HTTP povolených ve výchozím nastavení v klientech HTTP prohlížeče Změna chování
Uri odebrané limity délky Změna chování

Zamyšlení

Title Typ změny Představená verze
Další omezené poznámky pro InvokeMember/FindMembers/DeclaredMembers Chování / zdroj nekompatibilní
Ověření argumentu Type.MakeGenericSignatureType Změna chování

SDK a MSBuild

Title Typ změny
Rozhraní příkazového řádku .NET ve výchozím nastavení< /c1> ve scénářích uživatelů Změna chování
dotnet Příkazy rozhraní příkazového řádku zapisují data, která nejsou relevantní pro příkazy, na stderr. Změna chování
Balíček nástrojů .NET vytvoří balíčky nástrojů specifické pro RuntimeIdentifier. Změna chování
Výchozí konfigurace úloh z "volných manifestů" do režimu sady úloh Změna chování
Výchozí hodnota pokrytí kódu EnableDynamicNativeInstrumentation je false Změna chování
dnx.ps1 soubor už není součástí sady .NET SDK. Nekompatibilní zdroj
Dvojité uvozovky ve direktivách na úrovni souborů jsou zakázány. Nekompatibilní zdroj
dotnet new sln výchozí nastavení formátu souboru SLNX Změna chování
dotnet package list provádí obnovení. Změna chování
dotnet restore audituje tranzitivní balíčky Změna chování
dotnet tool install --local ve výchozím nastavení vytvoří manifest. Změna chování
dotnet watch Logování do stderr místo stdout Změna chování
project.json není podporován v dotnet restore Nekompatibilní zdroj
Podpora otisku prstu SHA-1 je zastaralá dotnet nuget sign Změna chování
Escape hatch MSBUILDCUSTOMBUILDEVENTWARNING byl odstraněn Změna chování
Správa uživatelských kulturních zdrojů nástroje MSBuild Změna chování
NU1510 je vyvolán pro odstraněné přímé odkazy nástrojem NuGet. Nekompatibilní zdroj
Balíčky NuGet bez prostředků modulu runtime nejsou součástí deps.json Nekompatibilní zdroj
PackageReference bez verze vyvolá chybu Změna chování
PrunePackageReference privatizuje přímé vyřízitelné odkazy Změna chování
Upozornění HTTP povýšená na chyby v dotnet package list a dotnet package search Behaviorální/zdroj nekompatibilní změna
Proměnná prostředí NUGET_ENABLE_ENHANCED_HTTP_RETRY byla odstraněna Změna chování
NuGet zaznamená chybu pro neplatná ID balíčků. Změna chování
ToolCommandName není nastaveno pro balíčky bez nástrojů Nekompatibilní zdroj

Serialization

Title Typ změny
System.Text.Json kontroluje konflikty názvů vlastností. Změna chování
XmlSerializer už ignoruje vlastnosti označené zastaralou atributem ObsoleteAttribute. Změna chování

model Windows Forms

Title Typ změny
Zastaralost rozhraní API Nekompatibilní zdroj
Aplikace odkazující na WPF i WinForms musí zrušit nejednoznačnost typů MenuItem a ContextMenu. Nekompatibilní zdroj
Přejmenování parametru v HtmlElement.InsertAdjacentElement Nekompatibilní zdroj
Zkrácení obrázku zaškrtávacího pole v TreeView Změna chování
StatusStrip ve výchozím nastavení používá system RenderMode. Změna chování
System.Drawing OutOfMemoryException se změnil na ExternalException Změna chování

Windows Presentation Foundation (WPF)

Title Typ změny
Prázdné definice columnDefinitions a RowDefinitions jsou zakázány Nekompatibilní zdroj
Nesprávné použití DynamicResource způsobuje chybové ukončení aplikace Nekompatibilní/behaviorální změna zdroje