Wijzigingen die fouten veroorzaken in de globalisering in .NET Core 3.0

De volgende belangrijke wijzigingen worden op deze pagina beschreven:

Wijziging die fouten veroorzaken Versie geïntroduceerd
De landinstelling 'C' wordt toegewezen aan de landinstelling voor invariant 3,0

.NET Core 3.0

De landinstelling 'C' wordt toegewezen aan de landinstelling voor invariant

.NET Core 2.2 en eerdere versies zijn afhankelijk van het standaard-ICU-gedrag, waarmee de landinstelling C wordt toegewezen aan de en_US_POSIX landinstelling. De en_US_POSIX landinstelling heeft een ongewenst sorteringsgedrag, omdat deze geen ondersteuning biedt voor hoofdlettergevoelige tekenreeksvergelijkingen. Omdat sommige Linux-distributies de landinstelling 'C' instellen als de standaardlandinstelling, ondervonden gebruikers onverwacht gedrag.

Wijzigingsbeschrijving

Vanaf .NET Core 3.0 is de landinstellingstoewijzing 'C' gewijzigd om de landinstelling Invariant te gebruiken in plaats van en_US_POSIX. De landinstelling 'C' voor invarianttoewijzing wordt ook toegepast op Windows voor consistentie.

Door 'C' toe te voegen aan en_US_POSIX cultuur is er verwarring op de klant ontstaan, omdat en_US_POSIX geen hoofdlettergevoelige sorteer-/zoekreeksbewerkingen ondersteunt. Omdat de landinstelling 'C' wordt gebruikt als een standaardlandinstelling in sommige linux-distributies, hebben klanten dit ongewenste gedrag op deze besturingssystemen ervaren.

Versie geïntroduceerd

3,0

Niets specifieks meer dan het bewustzijn van deze verandering. Deze wijziging is alleen van invloed op toepassingen die gebruikmaken van de landinstelling 'C'.

Categorie

Globalisatie

Betrokken API's

Alle sorterings- en cultuur-API's worden beïnvloed door deze wijziging.