Přerušující změny v rozhraní .NET 5

Pokud migrujete aplikaci na rozhraní .NET 5, může to mít vliv na výše uvedené změny. změny se seskupují podle technologických oblastí, jako je ASP.NET Core nebo kryptografie.

ASP.NET Core

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Aplikace ASP.NET Core deserializují čísla v uvozovkách ✔️
Zastaralá rozhraní API AzureAD.UI a AzureADB2C.UI ✔️
Zastaralé metody serializace BinaryFormatter ✔️
Prostředkem směrování koncového bodu je HttpContext ✔️
Odebrání integračních balíčků Azure s předponou Microsoft ✔️
Blazor: Změna logiky priority směrování v aplikacích Blazor ✔️
Blazor: Aktualizace podporovaných prohlížečů ✔️ ✔️
Blazor: Oříznutí nevýznamných prázdných znaků kompilátorem ✔️
Blazor: Interní typy JSObjectReference a JSInProcessObjectReference ✔️
Blazor: Změna cílové architektury balíčků NuGet ✔️
Blazor: Přesun funkce ProtectedBrowserStorage do sdílené architektury ✔️
Blazor: Veřejná pole RenderTreeFrame, určená jen pro čtení, jsou nyní vlastnostmi ✔️
Blazor: Aktualizace logiky při ověřování prostředků statických webů ✔️
Rozhraní Cryptography API nepodporovaná prohlížečem ✔️
Rozšíření: Změny odkazů na balíčky ✔️
Zastaralé typy Kestrel a IIS BadHttpRequestException ✔️
Instance HttpClient vytvořené stavovými kódy protokolu IHttpClientFactory jako hodnoty typu integer ✔️
HttpSys: Implicitně zakázané opakované vyjednávání o certifikátu klienta ✔️
IIS: Zachování řetězců dotazu middlewaru UrlRewrite ✔️
Kestrel: Automatické rozpoznávání změn v konfiguraci ✔️
Kestrel: Změna výchozích podporovaných verzí protokolu TLS ✔️
Kestrel: Upřednostnění TLS a zakázání HTTP/2 u nekompatibilních verzí Windows ✔️ ✔️
Kestrel: Označení přenosů Libuv jako zastaralých ✔️
Zastaralé vlastnosti třídy ConsoleLoggerOptions ✔️
Odebrání třídy ResourceManagerWithCultureStringLocalizer a člena rozhraní WithCulture ✔️
Odebrání veřejných rozhraní API a jejich změna na interní ✔️
Odebrání zastaralého konstruktoru RequestLocalizationMiddleware ✔️
Middleware: Zastaralé označení chybové stránky databáze ✔️
Middleware obslužné rutiny výjimky způsobí původní výjimku ✔️ ✔️
ObjectModelValidator volá nové přetížení metody Validate ✔️
Odebrání kódování názvu souboru cookie ✔️
Aktualizace verzí balíčků NuGet IdentityModel ✔️
SignalR: Změna typu možností protokolu centra MessagePack ✔️
SignalR: Přesun protokolu centra MessagePack ✔️
Odebrání metod UseSignalR a UseConnections ✔️
Změna obsahu typu CSV na standardní a vyhovující ✔️

Analýza kódu

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Upozornění CA1416 ✔️
Upozornění CA1417 ✔️
Upozornění CA1831 ✔️
Upozornění CA2013 ✔️
Upozornění CA2014 ✔️
Upozornění CA2015 ✔️
Upozornění CA2200 ✔️
Upozornění CA2247 ✔️

Knihovny Core .NET

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Změny rozhraní API pro sestavení při publikování do jednoho souboru ✔️
Zastaralé metody serializace BinaryFormatter ✔️
Zastaralá rozhraní API pro zabezpečení přístupu kódu ✔️
CreateCounterSetInstance způsobí výjimku InvalidOperationException ✔️
Výchozí formát Default ActivityIdFormat je W3C ✔️
Environment.OSVersion vrací správnou verzi ✔️
Hodnota FrameworkDescription je .NET, nikoli .NET Core ✔️
Zastaralá rozhraní API globální mezipaměti sestavení ✔️
Kontroly vlastnosti IsSupported vnitřního hardwaru ✔️
Typy IntPtr a UIntPtr implementují rozhraní IFormattable ✔️
Zpracování prázdných vyhledaných řetězců metodou LastIndexOf ✔️
Cesty URI s jinými znaky než ASCII v Unixu ✔️
Zastaralá rozhraní API s jinými než výchozími diagnostickými ID ✔️
Zastaralé vlastnosti třídy ConsoleLoggerOptions ✔️
Složitější metoda OrderBy.First v syntaxi dotazu LINQ ✔️
Přejmenování nebo odebrání atributů OSPlatform ✔️
Odebrání balíčku Microsoft.DotNet.PlatformAbstractions ✔️
Zastaralý atribut PrincipalPermissionAttribute ✔️
Změny názvů parametrů proti verzím Preview ✔️
Změny názvů parametrů v referenčních sestaveních ✔️
Zastaralá rozhraní API pro vzdálenou komunikaci ✔️
Opačné pořadí Activity.Tags v seznamu ✔️
Srovnávací metody SSE a SSE2 pracují se vstupy NaN ✔️
Zastaralá metoda Thread.Abort ✔️
Rozpoznávání identifikátoru URI cest UNC v Unixu ✔️
Zastaralé cesty v kódování UTF-7 ✔️
Změna chování metod Vector2.Lerp a Vector4.Lerp ✔️
Vector <T> – vyvolá NotSupportedException ✔️

Kryptografie

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Rozhraní Cryptography API nepodporovaná prohlížečem ✔️
Cryptography.Oid jen pro inicializaci hodnoty ✔️
Výchozí šifrovací sady TLS v Linuxu ✔️
Zastaralé přetížení Create() v šifrovacích abstrakcích ✔️
Změna výchozí hodnoty FeedbackSize ✔️

Entity Framework Core

Rozbíjení změn ve EF Core 5.0

Globalizace

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Použití knihoven ICU ve Windows ✔️
StringInfo a TextElementEnumerator kompatibilní s UAX29 ✔️
Změna kategorie Unicode u znaků Latin 1 ✔️
Změna hodnot TextInfo.ListSeparator ✔️

Zprostředkovatel komunikace

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Odebrání podpory WinRT ✔️
Přetypování RCW na InterfaceIsIInspectable způsobí výjimku ✔️
Netestování přípony A/W u jiných platforem než Windows ✔️

Sítě

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Zpracování cesty k souboru cookie odpovídá dokumentu RFC 6265 ✔️
Aktualizace vlastnosti LocalEndPoint po volání metody SendToAsync ✔️
MulticastOption.Group nepřijímá hodnotu null ✔️
Streamy umožňují po sobě jdoucí operace Begin ✔️
Odebrání třídy WinHttpHandler z modulu runtime .NET ✔️

Sada SDK

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Automatický import souborů Directory.Packages.props ✔️
Chyba vygenerovaná v případě, že spustitelný projekt odkazuje na neshodný spustitelný soubor ✔️
FrameworkReference nahrazeno WindowsSdkPackageVersion pro Windows SDK ✔️
Nedefinovaný symbol preprocesoru NETCOREAPP3_1 ✔️
Nastavení OutputType na WinExe ✔️
Změna chování vlastnosti PublishDepsFilePath ✔️
Změna vlastnosti TargetFramework z netcoreapp na net ✔️
Aplikace WinForms a WPF používají technologie Microsoft .NET.Sdk ✔️

Zabezpečení

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Zastaralá rozhraní API pro zabezpečení přístupu kódu ✔️
Zastaralý atribut PrincipalPermissionAttribute ✔️
Zastaralé cesty v kódování UTF-7 ✔️

Serializace

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Opětovné zahrnutí výjimek metodou BinaryFormatter.Deserialize ✔️
JsonSerializer.Deserialize vyžaduje řetězec s jedním znakem ✔️
Aplikace ASP.NET Core deserializují čísla v uvozovkách ✔️
JsonSerializer.Serialize způsobí výjimku ArgumentNullException ✔️
Neveřejné konstruktory bez parametrů se k deserializaci nepoužívají ✔️
Akceptování možností při serializaci párů klíč-hodnota ✔️

Windows Forms

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Nativní kód nemůže přistupovat k objektům Windows Forms ✔️
Nastavení OutputType na WinExe ✔️
DataGridView neresetuje vlastní písma ✔️
Metody způsobující výjimku ArgumentException ✔️
Metody způsobující výjimku ArgumentNullException ✔️
Vlastnosti způsobující výjimku ArgumentOutOfRangeException ✔️
Zastaralé pole TextFormatFlags.ModifyString ✔️
Rozhraní API DataGridView způsobí výjimku InvalidOperationException ✔️
Aplikace WinForms používají Microsoft.NET.Sdk ✔️
Odebrání ovládacích prvků stavového řádku ✔️

WPF

Nadpis Binární kompatibilní Kompatibilní se zdrojem
Nastavení OutputType na WinExe ✔️
Aplikace WPF používají Microsoft.NET.Sdk ✔️