Wijzigingen die fouten veroorzaken in .NET 8
Als u een app migreert naar .NET 8, kunnen de belangrijke wijzigingen die hier worden vermeld, van invloed zijn op u. Wijzigingen worden gegroepeerd op technologiegebied, zoals ASP.NET Core of Windows Forms.
Dit artikel categoriseert elke wijziging die fouten veroorzaken als binair niet compatibel of bron, of als gedragswijziging:
Binair incompatibel : wanneer deze worden uitgevoerd op basis van de nieuwe runtime of het nieuwe onderdeel, kunnen bestaande binaire bestanden een belangrijke wijziging in gedrag tegenkomen, zoals het laden of uitvoeren van bestanden, en als dat het probleem is, moet opnieuw worden gecompileerd.
Bron is niet compatibel : wanneer deze opnieuw wordt gecompileerd met behulp van de nieuwe SDK of het nieuwe onderdeel of om de nieuwe runtime te targeten, kan het zijn dat voor bestaande broncode bronwijzigingen moeten worden gecompileerd.
Gedragswijziging : bestaande code en binaire bestanden kunnen zich tijdens runtime anders gedragen. Als het nieuwe gedrag ongewenst is, moet bestaande code worden bijgewerkt en opnieuw worden gecompileerd.
ASP.NET Core
Titel | Type wijziging |
---|---|
ConcurrencyLimiterMiddleware is verouderd | Bron is niet compatibel |
Aangepaste conversieprogramma's voor serialisatie verwijderd | Gedragswijziging |
ISystemClock is verouderd | Bron is niet compatibel |
Minimale API's: IFormFile-parameters vereisen antivervalsingscontroles | Gedragswijziging |
Voor de snelheidsbeperking van middleware is AddRateLimiter vereist | Gedragswijziging |
Beveiligingstoken-gebeurtenissen retourneren een JsonWebToken | Gedragswijziging |
TrimMode is standaard vol voor Web SDK-projecten | Bron is niet compatibel |
Containers
Titel | Type wijziging |
---|---|
'ca-certificates'-pakket verwijderd uit Alpine-installatiekopieën | Binair niet compatibel |
Debian-containerinstallatiekopieën bijgewerkt naar Debian 12 | Binaire incompatibele/gedragswijziging |
Standaardpoort ASP.NET Core is gewijzigd in 8080 | Gedragswijziging |
Kerberos-pakket verwijderd uit Alpine- en Debian-installatiekopieën | Binair niet compatibel |
'libintl'-pakket verwijderd uit Alpine images | Gedragswijziging |
Containertags met meerdere platforms zijn alleen Linux | Gedragswijziging |
Nieuwe app-gebruiker in Linux-installatiekopieën | Gedragswijziging |
Core .NET-bibliotheken
Cryptografie
Titel | Type wijziging | Geïntroduceerd |
---|---|---|
AesGcm-verificatietaggrootte in macOS | Gedragswijziging | Preview 1 |
RSA. EncryptValue en RSA. DecryptValue verouderd | Bron is niet compatibel | Preview 1 |
Implementatie
Titel | Type wijziging |
---|---|
Host bepaalt rid-specifieke assets | Binaire incompatibele/gedragswijziging |
.NET Monitor bevat alleen distributieloze installatiekopieën | Gedragswijziging |
StripSymbols is standaard ingesteld op true | Gedragswijziging |
Entity Framework Core
Belangrijke wijzigingen in EF Core 8
Uitbreidingen
Titel | Type wijziging |
---|---|
ActivatorUtilities.CreateInstance gedraagt zich consistent | Gedragswijziging |
ActivatorUtilities.CreateInstance vereist een niet-null-provider | Gedragswijziging |
ConfigurationBinder genereert voor niet-overeenkomende waarde | Gedragswijziging |
Het ConfigurationManager-pakket verwijst niet meer naar System.Security.Permissions | Bron is niet compatibel |
DirectoryServices-pakket verwijst niet langer naar System.Security.Permissions | Bron is niet compatibel |
Lege sleutels toegevoegd aan woordenlijst door configuratiebinding | Gedragswijziging |
HostApplicationBuilderSettings.Args gerespecteerd door HostApplicationBuilder ctor | Gedragswijziging |
ManagementDateTimeConverter.ToDateTime retourneert een lokale tijd | Gedragswijziging |
System.Formats.Cbor DateTimeOffset-opmaakwijziging | Gedragswijziging |
Globalisatie
Titel | Type wijziging |
---|---|
Datum- en tijdconversieprogramma's respecteren cultuurargument | Gedragswijziging |
Standaard twoDigitYearMax is 2049 | Gedragswijziging |
Interop
Titel | Type wijziging |
---|---|
CreateObjectFlags.Unwraps only unwraps on target instance | Gedragswijziging |
Voor aangepaste marshallers zijn extra leden vereist | Bron is niet compatibel |
IDispatchImplAttribute-API is verwijderd | Binair niet compatibel |
Impliciete openbare standaardconstructor JSFunctionBinding verwijderd | Binair niet compatibel |
SafeHandle-typen moeten openbare constructor hebben | Bron is niet compatibel |
Netwerken
Titel | Type wijziging |
---|---|
SendFile genereert NotSupportedException voor verbindingsloze sockets | Gedragswijziging |
Gebruikersgegevens in mailto: URI's worden vergeleken |
Gedragswijziging |
Reflectie
Titel | Type wijziging |
---|---|
IntPtr wordt niet meer gebruikt voor functiepointertypen | Gedragswijziging |
SDK
Serialisatie
Titel | Type wijziging |
---|---|
BinaryFormatter uitgeschakeld voor de meeste projecten | Gedragswijziging |
PublishedTrimmed-projecten mislukken serialisatie op basis van reflectie | Gedragswijziging |
Deserializer op basis van weerspiegeling lost metagegevens gretig op | Gedragswijziging |
Windows Forms
Titel | Type wijziging |
---|---|
Wijzigingen in ankerindeling | Gedragswijziging |
Certificaten gecontroleerd voordat externe afbeeldingen in PictureBox worden geladen | Gedragswijziging |
DateTimePicker.Text is een lege tekenreeks | Gedragswijziging |
DefaultValueAttribute verwijderd uit sommige eigenschappen | Gedragswijziging |
ExceptionCollection-ctor genereert ArgumentException | Gedragswijziging |
Formulieren schalen volgens AutoScaleMode | Gedragswijziging |
Standaard imageList.ColorDepth is Depth32Bit | Gedragswijziging |
System.Windows.Extensions verwijst niet naar System.Drawing.Common | Bron is niet compatibel |
TableLayoutStyleCollection genereert ArgumentException | Gedragswijziging |
Formulieren op het hoogste niveau schalen minimale en maximale grootte naar DPI | Gedragswijziging |
WFDEV002 verdoezeling is nu een fout | Bron is niet compatibel |