Změny způsobující globalizaci v .NET Core 3.0
Na této stránce jsou popsané následující zásadní změny:
Změna způsobující chybu | Zavedená verze |
---|---|
Národní prostředí "C" se mapuje na invariantní národní prostředí | 3,0 |
.NET Core 3.0
Národní prostředí "C" se mapuje na invariantní národní prostředí
.NET Core 2.2 a starší verze závisí na výchozím chování jednotky ICU, které mapuje národní prostředí "C" na en_US_POSIX národní prostředí. Národní prostředí en_US_POSIX má nežádoucí chování kolace, protože nepodporuje porovnávání řetězců bez rozlišování velkých a malých písmen. Vzhledem k tomu, že některé linuxové distribuce nastavily národní prostředí "C" jako výchozí národní prostředí, došlo k neočekávanému chování uživatelů.
Změna popisu
Od verze .NET Core 3.0 se mapování národního prostředí jazyka C změnilo tak, aby místo en_US_POSIX používalo invariantní národní prostředí. Národní prostředí "C" na invariantní mapování je také použito pro systém Windows kvůli konzistenci.
Mapování "C" na en_US_POSIX jazykové verzi způsobilo nejasnost zákazníků, protože en_US_POSIX nepodporuje operace řazení a vyhledávání řetězců nerozlišující malá a velká písmena. Vzhledem k tomu, že národní prostředí "C" se používá jako výchozí národní prostředí v některých distribucích Linuxu, zaznamenali zákazníci toto nežádoucí chování v těchto operačních systémech.
Zavedená verze
3,0
Doporučená akce
Nic konkrétního než povědomí o této změně. Tato změna má vliv pouze na aplikace, které používají mapování národního prostředí jazyka C.
Kategorie
Globalizace
Ovlivněná rozhraní API
Tato změna ovlivňuje všechna kolace a rozhraní API jazykové verze.