Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här brytförändringen påverkar globaliseringsinvarianta läget på två sätt:
- Tidigare tillät .NET att alla kulturer skapades i globaliseringsoberoende läge, så länge kulturnamnet överensstämde med BCP-47. De invarianta kulturdata användes dock i stället för verkliga kulturdata. Från och med .NET 6 utlöses ett undantag om du skapar någon annan kultur än den invarianta kulturen i globaliserings-invariant-läge.
- Globaliserings-invariant-läge stödde tidigare skiftlägesmappning endast för ASCII-tecken. Från och med .NET 6 ger globaliseringsinvariant läge fullt stöd för skiftlägesmappning för alla Unicode-definierade tecken. Skiftlägesmappning används i åtgärder som strängjämförelser, strängsökningar och övre eller nedre höljesträngar.
Globaliserings-invariant-läge används för appar som inte kräver något globaliseringsstöd. Det vill sa att appen körs utan åtkomst till kulturspecifika data och beteende. Globaliserings-invariant-läge är aktiverat som standard på vissa Docker-containrar, till exempel Alpine-containrar.
Gammalt beteende
I tidigare .NET-versioner när globaliserings-invariant-läge är aktiverat:
- Om en app skapar en kultur som inte är den invarianta kulturen lyckas åtgärden, men den returnerade kulturen använder alltid invarianta kulturdata i stället för verkliga kulturdata. 
- Ärendemappning utfördes endast för ASCII-tecken. Till exempel: - if ("Á".Equals("á", StringComparison.CurrentCultureIgnoreCase)) // Evaluates to false.
Nytt beteende
Startar i .NET 6 när globaliserings-invariant-läge är aktiverat:
- Om en app försöker skapa en kultur som inte är den invarianta kulturen genereras ett CultureNotFoundException undantag. 
- Skiftlägesmappning utförs för alla Unicode-definierade tecken. Till exempel: - if ("Á".Equals("á", StringComparison.CurrentCultureIgnoreCase)) // Evaluates to true.
Version lanserad
.NET 6
Orsak till ändring
Ändringen av kulturskapandet infördes för att enklare diagnostisera kulturrelaterade problem. Vissa användare vet inte att deras appar körs i en miljö där ett globaliseringsoberoende läge är aktiverat. De kan uppleva oväntat beteende och inte kopplar det till ett globaliseringsinvariant läge, vilket gör det svårt att diagnostisera problemet.
Det heltäckande stödet för case-mapping introducerades för bättre användbarhet och upplevelse i globaliseringsinvariant läge.
Rekommenderad åtgärd
I de flesta fall behövs ingen åtgärd. Men om du vill ha det tidigare beteendet för skapande av kultur kan du ange ett körningskonfigurationsalternativ för att tillåta att kultur skapas i globaliseringsinvariansläge. Mer information finns i Fördefinierade kulturer.
Berörda API:er
- CultureInfo
- System.Globalization.CultureInfo.CreateSpecificCulture(String)
- System.Globalization.CultureInfo.GetCultureInfo
- RegionInfo
- Api:er som utför stränghölje, jämförelse eller sökning