Udostępnij za pośrednictwem


Istotne zmiany na platformie .NET 9

Jeśli migrujesz aplikację do platformy .NET 9, 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.

Uwaga

Ten artykuł jest w toku. Nie jest to pełna lista zmian powodujących niezgodność na platformie .NET 9. Aby wykonywać zapytania dotyczące zmian powodujących niezgodność, które nadal oczekują na publikację, zobacz Problemy z platformą .NET.

ASP.NET Core

Tytuł Typ zmiany Wprowadzona wersja
DefaultKeyResolution.ShouldGenerateNewKey zmienił znaczenie Zmiana zachowania Wersja zapoznawcza 3
Eksportowanie certyfikatu deweloperskiego nie tworzy już folderu Zmiana zachowania RC 1
HostBuilder włącza wartość ValidateOnBuild/ValidateScopes w środowisku projektowym Zmiana zachowania Wersja zapoznawcza 7
Typy oprogramowania pośredniczącego z wieloma konstruktorami Zmiana zachowania RC 1

Kontenery

Tytuł Typ zmiany Wprowadzona wersja
Obrazy kontenerów platformy .NET 9 nie instalują już biblioteki zlib Zmiana zachowania Wersja zapoznawcza 7

Podstawowe biblioteki platformy .NET

Tytuł Typ zmiany Wprowadzona wersja
Dodawanie pliku ZipArchiveEntry z funkcją CompressionLevel ustawia flagi bitów ogólnego przeznaczenia nagłówka katalogu ZIP Zmiana zachowania Wersja zapoznawcza 5
Obsługa altered UnsafeAccessor dla typów ogólnych innych niż otwarte Zmiana zachowania Wersja zapoznawcza 6
Obsoletions interfejsu API z niestandardowymi identyfikatorami diagnostycznymi Niezgodne źródło (Wiele)
Maksymalna długość liczby całkowitej biginteger Zmiana zachowania Wersja zapoznawcza 6
Funkcja BinaryReader.GetString() zwraca wartość "\uFFFD" w źle sformułowanych sekwencjach Zmiana zachowania Wersja zapoznawcza 7
Tworzenie typu tablicy system.Void jest niedozwolone Zmiana zachowania Wersja zapoznawcza 1
Domyślna Equals() i GetHashCode() zgłaszana dla typów oznaczonych za pomocą polecenia InlineArrayAttribute Zmiana zachowania Wersja zapoznawcza 6
EnumConverter weryfikuje zarejestrowane typy do wyliczenia Zmiana zachowania Wersja zapoznawcza 7
FromKeyedServicesAttribute nie wprowadza już parametru bez klucza Zmiana zachowania RC 1
IncrementingPollingCounter początkowe wywołanie zwrotne jest asynchroniczne Zmiana zachowania RC 1
Wymuszono limit rozmiaru struktury tablicy wbudowanej Zmiana zachowania Wersja zapoznawcza 1
InMemoryDirectoryInfo prepends rootDir do plików Zmiana zachowania Wersja zapoznawcza 1
Nowe przeciążenia TimeSpan.From*(), które przyjmują liczby całkowite Niezgodne źródło Wersja zapoznawcza 3
RuntimeHelpers.GetSubArray zwraca inny typ Zmiana zachowania Wersja zapoznawcza 1
String.Trim(params ReadOnlySpan<char>) usunięto przeciążenie Niezgodne źródło/binarne Ogólna dostępność
Obsługa pustych zmiennych środowiskowych Zmiana zachowania Wersja zapoznawcza 6
Nazwy i komentarze zipArchiveEntry szanują flagę UTF8 Zmiana zachowania RC 1

Kryptografia

Tytuł Typ zmiany Wprowadzona wersja
SafeEvpPKeyHandle.DuplicateHandle up-refs uchwytu Zmiana zachowania Wersja zapoznawcza 7
Niektóre konstruktory X509Certificate2 i X509Certificate są przestarzałe Niezgodne źródło Wersja zapoznawcza 7
Uproszczony okres istnienia klucza prywatnego systemu Windows Zmiana zachowania Wersja zapoznawcza 7

Wdrożenie

Tytuł Typ zmiany Wprowadzona wersja
Przestarzałe pakiety środowiska uruchomieniowego Systemu Windows/macOS/Linux MonoVM Niezgodne źródło Wersja zapoznawcza 7

Interop

Tytuł Typ zmiany Wprowadzona wersja
Opcja CET obsługiwana domyślnie Niezgodność binarna Wersja zapoznawcza 6

Kompilator JIT

Tytuł Typ zmiany Wprowadzona wersja
Konwersje zmiennoprzecinkowe na liczbę całkowitą są saturujące Zmiana zachowania Wersja zapoznawcza 4
Usunięto niektóre interfejsy API SVE Niezgodne źródło RC 2

Sieć

Tytuł Typ zmiany Wprowadzona wersja
Obsoletions interfejsu API Niezgodne źródło Wersja zapoznawcza 6
Raport server.port metryk httpclient bezwarunkowo Zmiana zachowania Wersja zapoznawcza 7
Rejestrowanie httpClientFactory domyślnie redacts wartości nagłówka Zmiana zachowania RC 1
Element HttpClientFactory używa programu SocketsHttpHandler jako podstawowego programu obsługi Zmiana zachowania Wersja zapoznawcza 6
Element HttpListenerRequest.UserAgent ma wartość null Niezgodne źródło Wersja zapoznawcza 1
Redaction kwerendy identyfikatora URI w zdarzeniach httpClient EventSource Zmiana zachowania Wersja zapoznawcza 7
Ponowne wykonywanie zapytań URI w dziennikach IHttpClientFactory Zmiana zachowania Wersja zapoznawcza 7

Zestaw SDK i program MSBuild

Tytuł Typ zmiany Wprowadzona wersja
dotnet watchniezgodne z Przeładowywanie na gorąco dla starych struktur Zmiana zachowania RC 1
dotnet workload zmiany danych wyjściowych poleceń Zmiana zachowania Wersja zapoznawcza 1
installer Wersja repozytorium nie jest już udokumentowana Zmiana zachowania Wersja zapoznawcza 5
Rejestrator terminalu jest domyślny Zmiana zachowania Wersja zapoznawcza 1
Wymagania dotyczące wersji zestawu .NET 9 SDK Niezgodne źródło Ogólna dostępność
Ostrzeżenie emitowane dla elementu docelowego platformy .NET Standard 1.x Niezgodne źródło Wersja zapoznawcza 6
Ostrzeżenie emitowane dla elementu docelowego platformy .NET 7 Niezgodne źródło Ogólna dostępność

Serializacja

Tytuł Typ zmiany Wprowadzona wersja
Funkcja BinaryFormatter zawsze zgłasza Zmiana zachowania Wersja zapoznawcza 6

Windows Forms

Tytuł Typ zmiany Wprowadzona wersja
BindingSource.SortDescriptions nie zwraca wartości null Zmiana zachowania Wersja zapoznawcza 1
Zmiany adnotacji o wartości null Niezgodne źródło Wersja zapoznawcza 1
SkładnikDesigner.Initialize zgłasza wyjątek ArgumentNullException Zmiana zachowania Wersja zapoznawcza 1
DataGridViewRowAccessibleObject.Name początkowy indeks wiersza Zmiana zachowania Wersja zapoznawcza 1
Obsługa aplikacji IMsoComponent jest włączona Zmiana zachowania Preview 2
Nowe analizatory zabezpieczeń Niezgodne źródło RC 1
Brak wyjątku, jeśli kontrolka DataGridView ma wartość null Zmiana zachowania Wersja zapoznawcza 1
PictureBox zgłasza wyjątki HttpClient Zmiana zachowania Wersja zapoznawcza 6

WPF

Tytuł Typ zmiany Wprowadzona wersja
GetXmlNamespaceMaps zmiana typu Zmiana zachowania/Niezgodność źródła Wersja zapoznawcza 3

Zobacz też