Hibaüzenet jelenik meg, ha olyan számítógépen futtat alkalmazást vagy próbál meg webhelyet elérni, amelyen egy adott .NET-keretrendszer 2.0-szoftverfrissítés telepítve van: „A 'Terület/nyelv' területi/nyelvi azonosító nem támogatott”

A cikk fordítása A cikk fordítása
Cikk azonosítója: 939949 - A cikkben érintett termékek listájának megtekintése.
Az összes kibontása | Az összes összecsukása

A jelenség

Egy Microsoft Windows Server 2003 rendszert működtető számítógépen telepíti a Microsoft .NET-keretrendszer 2.0 szoftverfrissítését, amelyet a Tudásbázis alábbi cikke ismertet:
928365 Beskrivelse af sikkerhedsopdateringen til .NET Framework 2.0 til Windows Server 2003, Windows XP og Windows 2000: 10. juli 2007
Ha a számítógépen alkalmazást futtat vagy webhelyet próbál meg elérni, az alábbi hibaüzenet jelenhet meg:
[System.ArgumentException] : A 'Terület/nyelv' területi/nyelvi azonosító nem támogatott a következő 13 terület/nyelv esetében: 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
Továbbá ha egy alkalmazás olyan erőforásokkal rendelkezik, amelyek a területi/nyelvi azonosítók régi formátumát használják, a felhasználó területi/nyelvi azonosítói pedig az új formátumot, a régi formátumú területi/nyelvi azonosítókat használó erőforrások nem lesznek elérhetők az alkalmazás számára.

Oka

„A jelenség” című szakaszban ismertetett szoftverfrissítés a .NET-keretrendszer 2.0 összegző frissítése. Ez a frissítés a területi/nyelvi azonosítók módosításait tartalmazza. A területi/nyelvi azonosítók új elnevezése az IETF-szabványok szintaxisát követi (RFC 4646 és RFC 4647). A módosítások a területi azonosítók egységesítésével az együttműködőképesség javítását célozzák.

Az új és a régi területi/nyelvi azonosítók megfeleltetése:
A táblázat összecsukásaA táblázat kibontása
Régi területi/nyelvi azonosító Új területi/nyelvi azonosító
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 en-029

Kerülő megoldás

A probléma megkerüléséhez hozzon létre egyéni területi/nyelvi azonosítókat a régi területi/nyelvi azonosítókat használó új területi/nyelvi azonosítókból. Ehhez hajtsa végre az alábbi lépéseket.

Megjegyzés: Az itt szereplő mintaprogram használatához telepítve kell lennie a .NET-keretrendszer 2.0-s verziójának.
  1. Hozzon létre egy olyan alkalmazást, amellyel elkészítheti az egyéni területi/nyelvi azonosítót. Ehhez hajtsa végre az alábbi lépéseket:
    1. Kattintson a Start menü Futtatás parancsára, írja be a notepad parancsot, majd kattintson az OK gombra.
    2. Az alábbi programkódot másolja be a Jegyzettömbbe:
      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);
              }
          }
      }
      
      Megjegyzés: Ez a mintaprogram az új területi/nyelvi azonosítók szülőit beállítja a régi területi/nyelvi azonosítókra. A régi területi/nyelvi azonosítók szülői egyidejúleg nem lehetnek új területi/nyelvi azonosítók is, mivel ez végtelen rekurziót eredményezne az erőforrás-keresés során.
    3. Kattintson a Fájl menü Mentés másként parancsára.
    4. A Mentés másként párbeszédpanelen kattintson a Dokumentumok gombra, írja be a MakeCultures.cs fájlnevet a Fájlnév mezőbe, kattintson a Minden fájl elemre a Fájl típusa legördülő listában, majd kattintson a Mentés gombra.
    5. Zárja be a Jegyzettömb alkalmazást.
  2. Az egyéni területi/nyelvi azonosító elkészítéséhez futtassa az 1. lépésben létrehozott alkalmazást. Ehhez hajtsa végre az alábbi lépéseket:
    1. Kattintson a Start menü Futtatás parancsára, írja be a cmd parancsot, majd kattintson az OK gombra.
    2. Írja be a cd Dokumentumok parancsot, majd nyomja le az ENTER billentyűt.
    3. Írja be a %windir%\Microsoft.NET\Framework\v2.0.50727\csc /r: sysglobl.dll MakeCultures.cs parancsot, majd nyomja le az ENTER billentyűt.
    4. Írja be a MakeCultures.exe parancsot a területi/nyelvi azonosítót létrehozó program futtatásához.

Állapot

A Microsoft megerősítette, hogy a cikkben tárgyalt jelenség az érintett termékek hibájára vezethető vissza.

Tulajdonságok

Cikk azonosítója: 939949 - Utolsó ellenőrzés: 2007. december 3. - Verziószám: 1.1
A cikkben található információ a következő(k)re vonatkozik:
  • Microsoft .NET Framework 2.0
Kulcsszavak: 
kbbug kbfix kbsecvulnerability kbqfe kbsecurity kbsecbulletin kbpubtypekc kbexpertiseadvanced KB939949
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.

Visszajelzés küldése

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com