Udostępnij za pośrednictwem


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

Jeśli migrujesz aplikację do platformy .NET 7, 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ł 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
Akcje kontrolera interfejsu API próbują wywnioskować parametry z di ✔️
Pierwszeństwo przed prefiksem zmiennej środowiskowej ASPNET ✔️ ✔️
AuthenticationAsync dla dostawców uwierzytelniania zdalnego ✔️
Uwierzytelnianie w aplikacjach zestawu WebAssembly ✔️
Domyślny schemat uwierzytelniania ✔️
Identyfikatory zdarzeń dla niektórych komunikatów dziennika Microsoft.AspNetCore.Mvc.Core uległy zmianie ✔️
Rezerwowe punkty końcowe plików ✔️
IHubClients i IHubCallerClients ukrywają elementy członkowskie ✔️
Kestrel: Domyślne powiązanie HTTPS zostało usunięte ✔️
Microsoft.AspNetCore.Server.Kestrel. Transport.Libuv i libuv.dll usunięte
Microsoft.Data.SqlClient zaktualizowano do wersji 4.0.1 ✔️
Oprogramowanie pośredniczące nie jest już odchyliwane do punktu końcowego przy użyciu delegata żądania o wartości null ✔️
Wykrywanie pustej treści wzorca MVC w powiązaniu modelu uległo zmianie ✔️
Zmiany interfejsu API buforowania danych wyjściowych
Metody usługi SignalR Hub próbują rozpoznać parametry z di ✔️

Podstawowe biblioteki platformy .NET

Tytuł Zgodność binarna Zgodne ze źródłem
Obsesje interfejsu API z domyślnym identyfikatorem diagnostycznym ✔️
Obsoletions interfejsu API z nie domyślnymi identyfikatorami diagnostycznymi ✔️
Interfejsy API serializacji BinaryFormatter generują błędy kompilatora ✔️
Funkcja BrotliStream nie zezwala już na niezdefiniowane wartości CompressionLevel ✔️
Projekty języka C++/interfejsu wiersza polecenia w programie Visual Studio ✔️
Zmiany w odbiciu wywołują wyjątki interfejsu API ✔️
Zestaw zbieralny w obiekcie AssemblyLoadContext, który nie jest zbieralny ✔️
Zmiana dokładności metod dodawania daty/godziny ✔️ ✔️
Zmiana zachowania metody równości dla sieci NaN ✔️
Zachowanie wywołania zwrotnego źródła zdarzeń ✔️ ✔️
Ograniczenie typu ogólnego w obiekcie PatternContext<T>
Usunięto starszą strategię FileStream ✔️
Obsługa bibliotek dla starszych platform
Maksymalna precyzja ciągów formatu liczbowego ✔️
Wzorce wyrażeń regularnych z poprawionymi zakresami ✔️ ✔️
SerializationFormat.Binary jest przestarzały
Usunięto przełącznik konfiguracji System.Drawing.Common ✔️ ✔️
System.Runtime.CompilerServices.Niebezpieczny pakiet NuGet ✔️ ✔️
Pola czasu w linkach symbolicznych ✔️
Śledzenie wpisów połączonej pamięci podręcznej ✔️
Validate CompressionLevel for BrotliStream ✔️

Konfigurowanie

Tytuł Zgodność binarna Zgodne ze źródłem
Wpis System.diagnostics w pliku app.config ✔️

Kryptografia

Tytuł Zgodność binarna Zgodne ze źródłem
Odszyfrowywanie kopertyCms nie powoduje podwójnego odpakowywania ✔️
Dynamiczny czas weryfikacji X509ChainPolicy ✔️
X500DistinguishedName analizowanie przyjaznych nazw ✔️

Wdrożenie

Tytuł Zgodność binarna Zgodne ze źródłem
Wszystkie zestawy domyślnie przycinane ✔️
Wyszukiwanie wielowymiarowe jest wyłączone ✔️
Ścieżka hosta x86 w 64-bitowym systemie Windows ✔️ ✔️
Funkcja TrimmerDefaultAction jest przestarzała ✔️

Entity Framework Core

Istotne zmiany w programie EF Core 7

Rozszerzenia

Tytuł Zgodność binarna Zgodne ze źródłem
Konfiguracja powiązania ze słownika rozszerza wartości ✔️ ✔️
ContentRootPath dla aplikacji uruchomionych przez powłokę systemu Windows ✔️
Prefiksy zmiennych środowiskowych ✔️

Globalizacja

Tytuł Zgodność binarna Zgodne ze źródłem
Interfejsy API globalizacji używają bibliotek ICU w systemie Windows Server ✔️

Interop

Tytuł Zgodność binarna Zgodne ze źródłem
RuntimeInformation.OSArchitecture w ramach emulacji ✔️

.NET MAUI

Tytuł Zgodność binarna Zgodne ze źródłem
Konstruktory akceptują interfejs podstawowy zamiast konkretnego typu ✔️
Metody pomocnika kierunku przepływu usunięte
Nowy parametr UpdateBackground ✔️
Zmieniono nazwę właściwości ScrollToRequest
Niektóre interfejsy API systemu Windows są usuwane

Sieć

Tytuł Zgodność binarna Zgodne ze źródłem
Wartość domyślna AllowRenegotiation to false
Niestandardowe ładunki ping w systemie Linux ✔️
Metody Socket.End nie zgłaszają wyjątku ObjectDisposedException ✔️

Zestaw SDK i program MSBuild

Tytuł Zgodność binarna Zgodne ze źródłem
Automatyczne środowisko uruchomienioweIdentifier dla niektórych projektów ✔️
Automatyczne środowisko uruchomienioweIdentifier tylko do publikowania
Dane wyjściowe konsoli interfejsu wiersza polecenia używają protokołu UTF-8
Kodowanie konsoli nie UTF-8 po zakończeniu ✔️
Serializacja MSBuild typów niestandardowych na platformie .NET 7
Instalacje równoległych zestawów SDK
Manifesty narzędzi w folderze głównym ✔️ ✔️
Wymagania dotyczące wersji zestawu .NET 7 SDK ✔️ ✔️
dotnet test: przełącz -a się do aliasu --arch zamiast --test-adapter-path
dotnet test: przełącz -r się do aliasu --runtime zamiast --results-dir
--output opcja nie jest już prawidłowa dla poleceń na poziomie rozwiązania
Zestaw SDK nie wywołuje już funkcji ResolvePackageDependencies ✔️

Serializacja

Tytuł Zgodność binarna Zgodne ze źródłem
DataContractSerializer zachowuje znak podczas deserializacji -0 ✔️
Deserializowanie typu wersji z wiodącym lub końcowym białym znakiem ✔️
Konstruktor kopiowania JsonSerializerOptions zawiera konstruktor JsonSerializerContext ✔️
Serializacja polimorficzna dla typów obiektów ✔️
Rezerwa generatora źródła System.Text.Json ✔️

Windows Forms

Tytuł Zgodność binarna Zgodne ze źródłem
Obsoletions i ostrzeżenia ✔️
Niektóre interfejsy API zgłaszają wyjątek ArgumentNullException ✔️

WPF

Tytuł Zgodność binarna Zgodne ze źródłem Zgodne z poprzednimi wersjami
Przywrócone zachowanie operacji przeciągania i upuszczania w edytorach tekstu ✔️ ✔️

XML i XSLT

Tytuł Zgodność binarna Zgodne ze źródłem
Element XmlSecureResolver jest przestarzały

Zobacz też