Příznaky
Do počítače se systémem Microsoft Windows Server 2003 nainstalujete aktualizaci softwaru rozhraní Microsoft .NET Framework 2.0, která je popsána v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:
928365 Popis aktualizace zabezpečení pro rozhraní .NET Framework 2.0 pro Windows Server 2003, Windows XP a Windows 2000: 10. července 2007
Pokud spustíte aplikaci nebo se v počítači pokusíte získat přístup k webové stránce, může se zobrazit následující chybová zpráva:
Poznámka
[System.ArgumentException] : Název jazykové verze "Culture" není podporován pro následujících 13 jazykových verzí: en-CB az-AZ-Latn uz-UZ-Latn sr-SP-Latn az-AZ-Cyrl uz-UZ-Cyrl sr-SP-Cyrl bs-BA-Cyrl sr-BA-Latn sr-BA-Cyrl bs-BA-Latn iu-CA-Latn div-MV
Pokud má aplikace prostředky, které používají starý formát názvu jazykové verze, a pokud název jazykové verze uživatele používá nový formát názvu jazykové verze, aplikace nemůže najít prostředky pro starý formát názvu jazykové verze.
Příčina
Aktualizace softwaru, která je uvedena v části Příznaky, je kumulativní aktualizací pro rozhraní .NET Framework 2.0. Tato aktualizace zahrnuje změny názvů jazykových verzí. Nové názvy jazykových verzí se řídí syntaxí standardů IETF (RFC 4646 a RFC 4647). Změny názvů jazykových verzí zlepšují vzájemnou spolupráci tím, že zajišťují, aby každé národní prostředí mělo konzistentní identifikátor.
Mapování starých názvů jazykových verzí na nové názvy jazykových verzí jsou následující:
| Starý název jazykové verze | Nový název jazykové verze |
|---|---|
| az-AZ-Latn | az-Latn-AZ |
| uz-UZ-Latn | uz-Latn-UZ |
| sr-sp-latn | sr-Latn-CS |
| az-AZ-Cyrl | az-Cyrl-AZ |
| uz-UZ-Cyrl | uz-Cyrl-UZ |
| sr-SP-Cyrl | sr-Cyrl-CS |
| bs-BA-Cyrl | bs-Cyrl-BA |
| sr-BA-Latn | sr-Latn-BA |
| sr-BA-Cyrl | sr-Cyrl-BA |
| bs-BA-Latn | bs-Latn-BA |
| iu-CA-Latn | iu-Latn-CA |
| div-MV | dv-MV |
| en-CB | CZ-029 |
Alternativní řešení
Chcete-li tento problém obejít, sestavte vlastní jazykové verze z nových národních prostředí, která používají staré názvy jazykových verzí. Použijte tento postup.
Poznámka: Chcete-li použít ukázkový program, který je zde uveden, musíte mít nainstalované rozhraní .NET Framework 2.0.
Vytvořte aplikaci, kterou lze použít k vytvoření vlastní jazykové verze. Postupujte takto:
Klikněte na Start, klikněte na Spustit, napište poznámkový blok a klikněte na OK.
Vložte následující kód do Poznámkového bloku.
using System; using System.Globalization; public class MakeCultures { static void Main() { CreateCopyCulture("en-029", "en-CB"); CreateCopyCulture("az-Latn-AZ", "az-AZ-Latn"); CreateCopyCulture("uz-Latn-UZ", "uz-UZ-Latn"); CreateCopyCulture("sr-Latn-CS", "sr-SP-Latn"); CreateCopyCulture("az-Cyrl-AZ", "az-AZ-Cyrl"); CreateCopyCulture("uz-Cyrl-UZ", "uz-UZ-Cyrl"); CreateCopyCulture("sr-Cyrl-CS", "sr-SP-Cyrl"); CreateCopyCulture("bs-Cyrl-BA", "bs-BA-Cyrl"); CreateCopyCulture("sr-Latn-BA", "sr-BA-Latn"); CreateCopyCulture("sr-Cyrl-BA", "sr-BA-Cyrl"); CreateCopyCulture("bs-Latn-BA", "bs-BA-Latn"); CreateCopyCulture("iu-Latn-CA", "iu-CA-Latn"); CreateCopyCulture("dv-MV", "div-MV"); } static void CreateCopyCulture(string strRealName, string strAliasName) { try { // Create a new culture based on the old name CultureAndRegionInfoBuilder carib = new CultureAndRegionInfoBuilder( strAliasName, CultureAndRegionModifiers.None); carib.LoadDataFromCultureInfo(new CultureInfo(strRealName)); carib.LoadDataFromRegionInfo(new RegionInfo(strRealName)); carib.Register(); // Change the existing culture's parent to the old culture carib = new CultureAndRegionInfoBuilder(strRealName, CultureAndRegionModifiers.Replacement); carib.Parent = new CultureInfo(strAliasName); carib.Register(); // Verify they're registered... CultureInfo ci = new CultureInfo(strAliasName); Console.WriteLine("Aliased culture {0} has parent of {1}.", ci, ci.Parent); ci = new CultureInfo(strRealName); Console.WriteLine("\"Real\" culture {0} has parent of {1}.", ci, ci.Parent); } catch (Exception e) { Console.WriteLine("Unable to create custom culture " + strAliasName); Console.WriteLine(e); } } }Poznámka: Tato ukázková aplikace nastaví rodiče nových jazykových verzí na staré jazykové verze. Rodiče starých kultur nemohou být novými kulturami zároveň, protože tato situace by způsobila nekonečnou rekurzi během vyhledávání zdrojů.
V nabídce File (Soubor) klikněte na Save As (Uložit jako).
V dialogovém okně Uložit jako klepněte na položku Dokument, do pole Název souboru zadejte MakeCultures.cs, v poli Uložit jako typ klepněte na položku Všechny Files a klepněte na tlačítko Uložit.
Ukončete Poznámkový blok.
Spusťte aplikaci, kterou jste vytvořili v kroku 1, a vytvořte vlastní jazykovou verzi. Postupujte takto:
- Klikněte na tlačítko Start, klikněte na příkaz Spustit, zadejte příkaz cmd a klikněte na tlačítko OK.
- Zadejte cd "Dokumenty" a stiskněte klávesu ENTER
- Zadejte %windir%\Microsoft.NET\Framework\v2.0.50727\csc /r: sysglobl.dll MakeCultures.cs a stiskněte klávesu ENTER.
- Zadejte MakeCultures.exe a spusťte program pro sestavení jazykové verze.
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.