Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli migrujesz aplikację do platformy .NET 10, zmiany powodujące niekompatybilność wymienione tutaj mogą cię dotyczyć. Zmiany są pogrupowane według obszaru technologii, takiego jak ASP.NET Core lub Windows Forms.
Ten artykuł kategoryzuje każdą zmianę jako niekompatybilną binarnie lub niekompatybilną źródłowo, albo jako zmianę behawioralną:
Niekompatybilne binaria — w przypadku uruchamiania w nowym środowisku uruchomieniowym lub w stosunku do nowego składnika, istniejące pliki binarne mogą napotkać istotną zmianę w działaniu, taką jak niepowodzenie ładowania lub uruchomienia, i w takim przypadku wymagają ponownej kompilacji.
Niekompatybilne źródło — W przypadku ponownego skompilowania przy użyciu nowego zestawu SDK lub składnika albo w celu skierowania na nowe środowisko uruchomieniowe, istniejący kod źródłowy może wymagać wprowadzenia zmian, aby można go było pomyślnie skompilować.
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 / Notatka
Ten artykuł jest w toku. To nie jest pełna lista zmian łamiących zgodność w frameworku .NET 10.
ASP.NET Core
| Title | Typ zmiany |
|---|---|
| Przekierowania logowania przy użyciu plików cookie wyłączone dla znanych punktów końcowych API | Zmiana zachowania |
| Wycofanie metody rozszerzenia WithOpenApi | Niezgodne źródło |
| Diagnostyka wyjątków pomijana, gdy funkcja TryHandleAsync zwraca wartość true | Zmiana zachowania |
| IActionContextAccessor i ActionContextAccessor są przestarzałe | Niezgodna/behawioralna zmiana źródła |
| Właściwość IncludeOpenAPIAnalyzers i analizatory MVC API są przestarzałe | Niezgodne źródło |
| IPNetwork i ForwardedHeadersOptions.KnownNetworks są przestarzałe | Niezgodne źródło |
| Pakiet Microsoft.Extensions.ApiDescription.Client jest przestarzały | Niezgodne źródło |
| Razor kompilacja środowiska uruchomieniowego jest przestarzała | Niezgodne źródło |
| WebHostBuilder, IWebHost i WebHost są przestarzałe | Niezgodne źródło |
Containers
| Title | Typ zmiany |
|---|---|
| domyślne obrazy .NET używają systemu Ubuntu | Zmiana zachowania |
Podstawowe biblioteki platformy .NET
Kryptografia
| Title | Typ zmiany |
|---|---|
| CompositeMLDsa zaktualizowano do wersji draft-08 | Zmiana zachowania |
| CoseSigner.Key może mieć wartość null | Niezgodna zmiana w zachowaniu i kodzie źródłowym |
| Nazwy członków MLDsa i SlhDsa "SecretKey" zostały zmienione | Niezgodne źródło |
| Kryptograficzne elementy pierwotne openSSL nie są obsługiwane w systemie macOS | Zmiana zachowania |
| Program OpenSSL 1.1.1 lub nowszy jest wymagany w systemie Unix | Zmiana zachowania |
| sprawdzanie poprawności X500DistinguishedName jest bardziej rygorystyczne | Zmiana zachowania |
| parametry klucza X509Certificate i PublicKey mogą mieć wartość null | Niezgodna zmiana w zachowaniu i kodzie źródłowym |
| zmieniono nazwę zmiennej środowiskowej na DOTNET_OPENSSL_VERSION_OVERRIDE | Zmiana zachowania |
Entity Framework Core
Istotne zmiany w programie EF Core 10
Extensions
| Title | Typ zmiany |
|---|---|
| BackgroundService uruchamia cały proces ExecuteAsync jako Task | Zmiana zachowania |
| Napraw problemy w GetKeyedService() i GetKeyedServices() z AnyKey | Zmiana zachowania |
| Wartości null zachowane w konfiguracji | Zmiana zachowania |
| Komunikat nie jest już zduplikowany w danych wyjściowych dziennika konsoli | Zmiana zachowania |
| ProviderAliasAttribute przeniesiono do zestawu Microsoft.Extensions.Logging.Abstractions | Niezgodne źródło |
| Usunięto adnotację DynamicallyAccessedMembers z kodu niebezpiecznego dla przycinania Microsoft.Extensions.Configuration | Binarna niezgodność |
Globalization
| Title | Typ zmiany |
|---|---|
| zmieniono nazwę zmiennej środowiskowej na DOTNET_ICU_VERSION_OVERRIDE | Zmiana zachowania |
Narzędzie do instalowania
| Title | Typ zmiany |
|---|---|
| dotnet.acquire API dla programu VS Code nie zawsze pobiera najnowszą wersję | Zmiana zachowania |
Interoperacyjność
| Title | Typ zmiany |
|---|---|
| Rzutowanie obiektu COM IDispatchEx na IReflect nie powiodło się | Zmiana zachowania |
| Aplikacje z jednym plikiem nie szukają już bibliotek natywnych w katalogu wykonywalnym | Zmiana zachowania |
| Określanie biblioteki DllImportSearchPath.AssemblyDirectory wyszukuje tylko katalog zestawów | Zmiana zachowania |
Sieć
| Title | Typ zmiany |
|---|---|
| Obsługa protokołu HTTP/3 jest domyślnie wyłączona z funkcją PublishTrimmed | Niezgodne źródło |
| Przesyłanie strumieniowe odpowiedzi HTTP domyślnie włączone w klientach HTTP przeglądarki | Zmiana zachowania |
Uri usunięto limity długości |
Zmiana zachowania |
Reflection
| Title | Typ zmiany | Wprowadzona wersja |
|---|---|---|
| Bardziej ograniczone adnotacje dotyczące elementu InvokeMember/FindMembers/DeclaredMembers | Niezgodność behawioralna/źródłowa |
Zestaw SDK i program MSBuild
Serializacja
| Title | Typ zmiany |
|---|---|
| System.Text.Json sprawdza konflikty nazw właściwości | Zmiana zachowania |
| XmlSerializer nie ignoruje już właściwości oznaczonych atrybutem Obsolete | Zmiana zachowania |
Windows Forms
| Title | Typ zmiany |
|---|---|
| Przestarzałości API | Niezgodne źródło |
| Aplikacje odwołujące się zarówno do WPF, jak i WinForms muszą uściślać typy MenuItem i ContextMenu | Niezgodne źródło |
| Zmieniono nazwę parametru w HtmlElement.InsertAdjacentElement | Niezgodne źródło |
| obcięcie obrazu pola wyboru TreeView | Zmiana zachowania |
| StatusStrip domyślnie używa modułu RenderMode systemu | Zmiana zachowania |
| System.Drawing OutOfMemoryException został zmieniony na ExternalException | Zmiana zachowania |
Windows Presentation Foundation (WPF)
| Title | Typ zmiany |
|---|---|
| Puste definicje kolumn i definicje wierszy są niedozwolone | Niezgodne źródło |
| Nieprawidłowe użycie usługi DynamicResource powoduje awarię aplikacji | Niezgodna/behawioralna zmiana źródła |