Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Zmiany powodujące niezgodność na platformie .NET 5

Jeśli migrujesz aplikację do platformy .NET 5, zmiany powodujące niezgodność wymienione tutaj mogą mieć wpływ na Ciebie. Zmiany są pogrupowane według obszaru technologii, takiego jak ASP.NET Core lub kryptografia.

Ten artykuł wskazuje, czy każda zmiana powodująca niezgodność jest zgodna binarna, czy zgodna ze źródłem:

  • Zgodność binarna — istniejące pliki binarne zostaną załadowane i wykonane pomyślnie bez ponownej kompilacji, a zachowanie czasu wykonywania nie ulegnie zmianie.
  • Zgodne ze źródłem — kod źródłowy zostanie skompilowany pomyślnie bez zmian podczas określania wartości docelowej dla nowego środowiska uruchomieniowego lub przy użyciu nowego zestawu SDK lub składnika.

ASP.NET Core

Tytuł Zgodność binarna Zgodne ze źródłem
ASP.NET Aplikacje Core deserializować cytowane liczby ✔️
Przestarzałe interfejsy API AzureAD.UI i AzureADB2C.UI ✔️
Metody serializacji BinaryFormatter są przestarzałe ✔️
Zasób w routingu punktu końcowego to HttpContext ✔️
Usunięte pakiety integracji platformy Azure z prefiksem Microsoft ✔️
Blazor: logika pierwszeństwa trasy została zmieniona w aplikacjach platformy Blazor ✔️
Blazor: zaktualizowana obsługa przeglądarki ✔️ ✔️
Blazor: nieistotne białe znaki przycięte przez kompilator ✔️
Blazor: typy JSObjectReference i JSInProcessObjectReference są wewnętrzne ✔️
Blazor: zmieniono platformę docelową pakietów NuGet ✔️
Blazor: funkcja ProtectedBrowserStorage przeniesiona do struktury udostępnionej ✔️
Blazor: Pola publiczne renderTreeFrame są teraz właściwościami ✔️
Blazor: zaktualizowana logika sprawdzania poprawności statycznych zasobów internetowych ✔️
Interfejsy API kryptografii nie są obsługiwane w przeglądarce ✔️
Rozszerzenia: zmiany odwołań do pakietów ✔️
Typy Kestrel i IIS BadHttpRequestException są przestarzałe ✔️
Wystąpienia httpClient utworzone przez kody stanu liczby całkowitej dziennika IHttpClientFactory ✔️
HttpSys: renegocjacja certyfikatu klienta jest domyślnie wyłączona ✔️
IIS: Ciągi zapytań oprogramowania pośredniczącego UrlRewrite są zachowywane ✔️
Kestrel: Zmiany konfiguracji wykryte domyślnie ✔️
Kestrel: Zmieniono domyślne obsługiwane wersje protokołu TLS ✔️
Kestrel: protokół HTTP/2 wyłączony za pośrednictwem protokołu TLS w niezgodnych wersjach systemu Windows ✔️ ✔️
Kestrel: Transport Libuv oznaczony jako przestarzały ✔️
Przestarzałe właściwości w konsoliLoggerOptions ✔️
Klasa ResourceManagerWithCultureStringLocalizer i usunięta składowa interfejsu WithCulture ✔️
Usunięte interfejsy API pubternal ✔️
Przestarzały konstruktor usunięty w narzędziu pośredniczącym lokalizacji żądania ✔️
Oprogramowanie pośredniczące: strona błędu bazy danych oznaczona jako przestarzała ✔️
Oprogramowanie pośredniczące programu obsługi wyjątków zgłasza oryginalny wyjątek ✔️ ✔️
ObjectModelValidator wywołuje nowe przeciążenie weryfikacji ✔️
Kodowanie nazwy pliku cookie zostało usunięte ✔️
Zaktualizowano wersje pakietów NuGet IdentityModel ✔️
SignalR: zmieniono typ opcji protokołu centrum MessagePack ✔️
SignalR: Przeniesiono protokół centrum MessagePack ✔️
Metody UseSignalR i Use Połączenie ions usunięte ✔️
Typ zawartości CSV został zmieniony na zgodny ze standardami ✔️

Analiza kodu

Tytuł Zgodność binarna Zgodne ze źródłem
Ostrzeżenie CA1416 ✔️
Ostrzeżenie CA1417 ✔️
Ostrzeżenie CA1831 ✔️
Ostrzeżenie CA2013 ✔️
Ostrzeżenie CA2014 ✔️
Ostrzeżenie CA2015 ✔️
Ostrzeżenie CA2200 ✔️
Ostrzeżenie CA2247 ✔️

Podstawowe biblioteki platformy .NET

Tytuł Zgodność binarna Zgodne ze źródłem
Zmiany interfejsu API związane z zestawem na potrzeby publikowania w jednym pliku ✔️
Metody serializacji BinaryFormatter są przestarzałe ✔️
Interfejsy API zabezpieczeń dostępu do kodu są przestarzałe ✔️
Metoda CreateCounterSetInstance zgłasza wyjątek InvalidOperationException ✔️
Domyślny format ActivityIdFormat to W3C ✔️
Funkcja Environment.OSVersion zwraca poprawną wersję ✔️
Wartość frameworkDescription to .NET, a nie .NET Core ✔️
Interfejsy API GAC są przestarzałe ✔️
Wewnętrzne testy sprzętu IsSupported ✔️
IntPtr i UIntPtr implementują tabelę IFormattable ✔️
Funkcja LastIndexOf obsługuje puste ciągi wyszukiwania ✔️
Ścieżki identyfikatora URI z znakami innym niż ASCII w systemie Unix ✔️
Obsoletions interfejsu API z nie domyślnymi identyfikatorami diagnostycznymi ✔️
Przestarzałe właściwości w konsoliLoggerOptions ✔️
Złożoność LINQ OrderBy.First ✔️
Zmieniono lub usunięto nazwy atrybutów OSPlatform ✔️
Pakiet Microsoft.DotNet.PlatformAbstractions został usunięty ✔️
Atrybut PrincipalPermissionAttribute jest przestarzały ✔️
Zmiana nazwy parametru z wersji zapoznawczych ✔️
Zmiany nazwy parametrów w zestawach odwołań ✔️
Interfejsy API komunikacji zdalniej są przestarzałe ✔️
Kolejność listy Activity.Tags jest odwrócona ✔️
Metody porównania SSE i SSE2 obsługują metodę nan ✔️
Funkcja Thread.Abort jest przestarzała ✔️
Rozpoznawanie identyfikatorów URI ścieżek UNC w systemie Unix ✔️
Ścieżki kodu UTF-7 są przestarzałe ✔️
Zmiana zachowania dla wektorów Vector2.Lerp i Vector4.Lerp ✔️
Wektor<T> zgłasza wyjątek NotSupportedException ✔️

Kryptografia

Entity Framework Core

Zmiany powodujące niezgodność w programie EF Core 5.0

Globalizacja

Interop

Sieć

SDK

Zabezpieczenia

Serializacja

Windows Forms

WPF

Tytuł Zgodność binarna Zgodne ze źródłem
OutputType ustawiono wartość WinExe ✔️
Aplikacje WPF używają zestawu Microsoft.NET.Sdk ✔️

Zobacz też