Delen via


Belangrijke wijzigingen in .NET 5

Als u een app migreert naar .NET 5, kunnen de belangrijke wijzigingen die hier worden vermeld, van invloed zijn op u. Wijzigingen worden gegroepeerd op technologiegebied, zoals ASP.NET Core of cryptografie.

In dit artikel wordt aangegeven of elke belangrijke wijziging binair compatibel of bron compatibel is:

  • Binair compatibel : bestaande binaire bestanden worden geladen en uitgevoerd zonder hercompilatie, en het runtimegedrag wordt niet gewijzigd.
  • Broncompatibel : broncode wordt zonder wijzigingen gecompileerd wanneer deze gericht is op de nieuwe runtime of het gebruik van de nieuwe SDK of het nieuwe onderdeel.

ASP.NET Core

Zie Belangrijke wijzigingen in ASP.NET Core 5.

Codeanalyse

Titel Binaire compatibiliteit Compatibel met de bron
CA1416-waarschuwing ✔️
CA1417-waarschuwing ✔️
CA1831-waarschuwing ✔️
CA2013-waarschuwing ✔️
CA2014-waarschuwing ✔️
CA2015-waarschuwing ✔️
CA2200-waarschuwing ✔️
CA2247-waarschuwing ✔️

Core .NET-bibliotheken

Titel Binaire compatibiliteit Compatibel met de bron
Assembly-gerelateerde API-wijzigingen voor publicatie van één bestand ✔️
Serialisatiemethoden van BinaryFormatter zijn verouderd ✔️
Beveiligings-API's voor codetoegang zijn verouderd ✔️
CreateCounterSetInstance genereert InvalidOperationException ✔️
Standaard Activiteits-ID-Formaat is W3C ✔️
Environment.OSVersion retourneert de juiste versie ✔️
De waarde van FrameworkDescription is .NET en niet .NET Core ✔️
GAC-API's zijn verouderd ✔️
Hardware-intrinsieke IsSupported-controles ✔️
IntPtr en UIntPtr implementeren IFormattable ✔️
LastIndexOf verwerkt lege zoekreeksen ✔️
URI-paden met niet-ASCII-tekens op Unix ✔️
API-afschaffingen met niet-standaard diagnose-id's ✔️
Verouderde eigenschappen in ConsoleLoggerOptions ✔️
Complexiteit van LINQ OrderBy.First ✔️
OsPlatform-kenmerken hernoemd of verwijderd ✔️
Microsoft.DotNet.PlatformAbstractions-pakket verwijderd ✔️
PrincipalPermissionAttribute is niet meer actueel ✔️
Parameternaamwijzigingen van preview-versies ✔️
Parameternaamwijzigingen in referentie-assemblages ✔️
Externe API's zijn verouderd ✔️
Volgorde van de lijst Activity.Tags wordt omgekeerd ✔️
Vergelijkingsmethoden voor SSE en SSE2 verwerken NaN ✔️
Thread.Abort is verouderd verklaard ✔️
Uri-herkenning van UNC-paden op Unix ✔️
UTF-7-codepaden zijn verouderd ✔️
Gedragswijziging voor Vector2.Lerp en Vector4.Lerp ✔️
Vector<T> genereert NotSupportedException ✔️

Cryptografie

Titel Binaire compatibiliteit Compatibel met de bron
Cryptografie-API's worden niet ondersteund in de browser ✔️
Cryptography.Oid is alleen-lezen tijdens initialisatie ✔️
Standaard TLS-cijfersuites in Linux ✔️
Create()-overloads van cryptografische abstracties zijn verouderd ✔️
De standaardwaarde FeedbackSize is gewijzigd ✔️

Entity Framework Core

Zie Belangrijke wijzigingen in EF Core 5.0.

Globalisering

Titel Binaire compatibiliteit Compatibel met de bron
ICU-bibliotheken gebruiken in Windows ✔️
StringInfo en TextElementEnumerator zijn compatibel met UAX29 ✔️
Unicode-categorie is gewijzigd voor Latijns-1 tekens ✔️
TextInfo.ListSeparator-waarden gewijzigd ✔️

Interop

Titel Binaire compatibiliteit Compatibel met de bron
Ondersteuning voor WinRT wordt verwijderd ✔️
RCW casten naar InterfaceIsIInspectable genereert uitzondering ✔️
Geen A/W-achtervoegselonderzoek op andere dan Windows-platforms ✔️

Netwerken

Titel Binaire compatibiliteit Compatibel met de bron
Verwerking van cookiepaden voldoet aan RFC 6265 ✔️
LocalEndPoint wordt bijgewerkt na het aanroepen van SendToAsync ✔️
MulticastOption.Group accepteert geen null ✔️
Stromen maken opeenvolgende beginbewerkingen mogelijk ✔️
WinHttpHandler verwijderd uit .NET Runtime ✔️

SDK

Titel Binaire compatibiliteit Compatibel met de bron
Directory.Packages.props-bestanden die standaard zijn geïmporteerd ✔️
Fout gegenereerd wanneer uitvoerbare project verwijst naar niet-overeenkomende uitvoerbare bestanden ✔️
FrameworkReference vervangen door WindowsSdkPackageVersion voor Windows SDK ✔️
NETCOREAPP3_1 preprocessorsymbool is niet gedefinieerd ✔️
OutputType ingesteld op WinExe ✔️
Wijziging in het gedrag van PublishDepsFilePath ✔️
TargetFramework-wijziging van netcoreapp naar net ✔️
WinForms- en WPF-apps maken gebruik van Microsoft.NET.Sdk ✔️

Veiligheid

Titel Binaire compatibiliteit Compatibel met de bron
Beveiligings-API's voor codetoegang zijn verouderd ✔️
PrincipalPermissionAttribute is niet meer actueel ✔️
UTF-7-codepaden zijn verouderd ✔️

Serialisatie

Titel Binaire compatibiliteit Compatibel met de bron
BinaryFormatter.Deserialize wikkelt uitzonderingen opnieuw ✔️
JsonSerializer.Deserialize vereist tekenreeks met één teken ✔️
ASP.NET Core-apps deserialiseren aangehaalde getallen ✔️
JsonSerializer.Serialize genereert ArgumentNullException ✔️
Niet-openbare, parameterloze constructors die niet worden gebruikt voor deserialisatie ✔️
Opties worden gehonoreerd bij het serialiseren van sleutel-waardeparen ✔️

Windows Forms

Titel Binaire compatibiliteit Compatibel met de bron
Systeemeigen code heeft geen toegang tot Windows Forms-objecten ✔️
OutputType ingesteld op WinExe ✔️
In DataGridView worden aangepaste lettertypen niet opnieuw ingesteld ✔️
Methoden voor het gooien van ArgumentException ✔️
Methoden werpen ArgumentNullException ✔️
Eigenschappen van ArgumentOutOfRangeException ✔️
TextFormatFlags.ModifyString is niet langer in gebruik ✔️
DataGridView-API's gooien InvalidOperationException ✔️
WinForms-apps maken gebruik van Microsoft.NET.Sdk ✔️
Besturingselementen voor verwijderde statusbalk ✔️

WPF (Windows Presentation Foundation)

Titel Binaire compatibiliteit Compatibel met de bron
OutputType ingesteld op WinExe ✔️
WPF-apps gebruiken Microsoft.NET.Sdk ✔️

Zie ook