Sdílet prostřednictvím


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

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.