Zmiany powodujące niezgodność w .NET 8
Jeśli migrujesz aplikację do platformy .NET 8, 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 Windows Forms.
Ten artykuł kategoryzuje każdą zmianę powodującą niezgodność jako niezgodną binarną lub niezgodną źródłową albo jako zmianę behawioralną:
Niezgodne dane binarne — w przypadku uruchamiania względem nowego środowiska uruchomieniowego lub składnika istniejące pliki binarne mogą napotkać niezgodną zmianę zachowania, taką jak niepowodzenie ładowania lub wykonywania, a jeśli tak, wymagaj ponownej kompilacji.
Niezgodne źródło — w przypadku ponownego skompilowania przy użyciu nowego zestawu SDK lub składnika lub docelowego nowego środowiska uruchomieniowego istniejący kod źródłowy może wymagać pomyślnego skompilowania zmian źródłowych.
Zmiana zachowania — istniejący kod i pliki binarne mogą zachowywać się inaczej w czasie wykonywania. Jeśli nowe zachowanie jest niepożądane, należy zaktualizować i ponownie skompilować istniejący kod.
ASP.NET Core
Tytuł | Typ zmiany |
---|---|
ConcurrencyLimiterMiddleware jest przestarzałe | Niezgodne źródło |
Niestandardowe konwertery do serializacji usunięte | Zmiana zachowania |
ISystemClock jest przestarzały | Niezgodne źródło |
Minimalne interfejsy API: parametry IFormFile wymagają kontroli fałszerzowania | Zmiana zachowania |
Oprogramowanie pośredniczące ograniczające szybkość wymaga dodatku AddRateLimiter | Zmiana zachowania |
Zdarzenia tokenu zabezpieczającego zwracają token JsonWebToken | Zmiana zachowania |
Ustawienie domyślne TrimMode dla projektów zestawu Web SDK | Niezgodne źródło |
Kontenery
Tytuł | Typ zmiany |
---|---|
Pakiet "ca-certificates" usunięty z obrazów alpine | Niezgodność binarna |
Obrazy kontenerów Debian uaktualnione do systemu Debian 12 | Niezgodna/behawioralna zmiana binarna |
Domyślny port ASP.NET Core został zmieniony na 8080 | Zmiana zachowania |
Pakiet Kerberos usunięty z obrazów Alpine i Debian | Niezgodność binarna |
Pakiet "libintl" usunięty z obrazów alpejskich | Zmiana zachowania |
Tagi kontenerów wieloplatformowych to tylko system Linux | Zmiana zachowania |
Nowy użytkownik "app" na obrazach systemu Linux | Zmiana zachowania |
Podstawowe biblioteki platformy .NET
Kryptografia
Tytuł | Typ zmiany | Wprowadzono |
---|---|---|
Rozmiar tagu uwierzytelniania narzędzia AesGcm w systemie macOS | Zmiana zachowania | Wersja zapoznawcza 1 |
RSA. EncryptValue i RSA. DecryptValue przestarzałe | Niezgodne źródło | Wersja zapoznawcza 1 |
Wdrożenie
Tytuł | Typ zmiany |
---|---|
Host określa zasoby specyficzne dla identyfikatorów RID | Niezgodna/behawioralna zmiana binarna |
Program .NET Monitor zawiera tylko obrazy bez dystrybucji | Zmiana zachowania |
Właściwość StripSymbols domyślnie ma wartość true | Zmiana zachowania |
Entity Framework Core
Istotne zmiany w programie EF Core 8
Rozszerzenia
Tytuł | Typ zmiany |
---|---|
AktywatorUtilities.CreateInstance zachowuje się spójnie | Zmiana zachowania |
ActivatorUtilities.CreateInstance wymaga dostawcy innego niż null | Zmiana zachowania |
ConfigurationBinder zgłasza niezgodną wartość | Zmiana zachowania |
Pakiet ConfigurationManager nie odwołuje się już do pliku System.Security.Permissions | Niezgodne źródło |
Pakiet DirectoryServices nie odwołuje się już do pliku System.Security.Permissions | Niezgodne źródło |
Puste klucze dodane do słownika przez powiązanie konfiguracji | Zmiana zachowania |
HostApplicationBuilderSettings.Args szanowany przez narzędzie HostApplicationBuilder | Zmiana zachowania |
ManagementDateTimeConverter.ToDateTime zwraca czas lokalny | Zmiana zachowania |
System.Formats.Cbor DateTimeOffset, zmiana formatowania | Zmiana zachowania |
Globalizacja
Tytuł | Typ zmiany |
---|---|
Konwertery dat i godzin honorować argument kultury | Zmiana zachowania |
Wartość domyślna TwoDigitYearMax to 2049 | Zmiana zachowania |
Interop
Tytuł | Typ zmiany |
---|---|
CreateObjectFlags.Unwraps unwraps unwraps tylko w wystąpieniu docelowym | Zmiana zachowania |
Niestandardowe marshallers wymagają dodatkowych elementów członkowskich | Niezgodne źródło |
Interfejs API IDispatchImplAttribute został usunięty | Niezgodność binarna |
JsFunctionBinding niejawny publiczny konstruktor domyślny został usunięty | Niezgodność binarna |
Typy SafeHandle muszą mieć publiczny konstruktor | Niezgodne źródło |
Sieć
Tytuł | Typ zmiany |
---|---|
Element SendFile zgłasza wyjątek NotSupportedException dla gniazd bez połączenia | Zmiana zachowania |
Informacje o użytkowniku w mailto: identyfikatorach URI są porównywane |
Zmiana zachowania |
Odbicie
Tytuł | Typ zmiany |
---|---|
IntPtr nie jest już używany dla typów wskaźników funkcji | Zmiana zachowania |
SDK
Serializacja
Tytuł | Typ zmiany |
---|---|
BinaryFormatter wyłączony dla większości projektów | Zmiana zachowania |
Serializacja oparta na odbiciu odbicia projektów opublikowanychTrimmed kończy się niepowodzeniem | Zmiana zachowania |
Deserializator oparty na odbiciu z niecierpliwością rozwiązuje metadane | Zmiana zachowania |
Windows Forms
Tytuł | Typ zmiany |
---|---|
Zmiany układu zakotwiczenia | Zmiana zachowania |
Certyfikaty sprawdzane przed załadowaniem obrazów zdalnych w aplikacji PictureBox | Zmiana zachowania |
Ciąg DateTimePicker.Text jest pusty | Zmiana zachowania |
DefaultValueAttribute usunięto z niektórych właściwości | Zmiana zachowania |
WyjątekCollection ctor zgłasza argumentException | Zmiana zachowania |
Skalowanie formularzy zgodnie z trybem AutoScaleMode | Zmiana zachowania |
Wartość domyślna ImageList.ColorDepth to Depth32Bit | Zmiana zachowania |
System.Windows.Extensions nie odwołuje się do pliku System.Drawing.Common | Niezgodne źródło |
TableLayoutStyleCollection zgłasza wyjątek ArgumentException | Zmiana zachowania |
Minimalna i maksymalna wielkość formularzy najwyższego poziomu do dpi | Zmiana zachowania |
WFDEV002 obsoletion jest teraz błędem | Niezgodne źródło |