특정 .NET Framework 2.0 소프트웨어 업데이트가 설치된 컴퓨터에서 응용 프로그램을 실행하거나 웹 사이트에 액세스하려고 하면 "Culture 이름 'Culture'는 지원되지 않습니다." 오류 메시지가 나타난다

현상

Microsoft Windows Server 2003이 설치된 컴퓨터에 Microsoft 기술 자료의 다음 문서에서 설명하는 Microsoft .NET Framework 2.0 소프트웨어 업데이트를 설치합니다.

928365 2007년 7월 10일자 Windows Server 2003, Windows XP 및 Windows 2000용 .NET Framework 2.0 보안 업데이트에 대한 설명

컴퓨터에서 응용 프로그램을 실행하거나 웹 사이트에 액세스하려고 하면 다음과 유사한 오류 메시지가 나타날 수 있습니다.

[System.ArgumentException] : Culture 이름 'Culture'는 다음 13개 culture에 대해 지원되지 않습니다. 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

또한 응용 프로그램에 이전 culture 이름 형식을 사용하는 리소스가 있고 사용자의 culture 이름에서 새 culture 이름 형식을 사용하는 경우 응용 프로그램에서 이전 culture 이름 형식에 대한 리소스를 찾을 수 없습니다.

원인

"현상" 절에서 설명하는 소프트웨어 업데이트는 .NET Framework 2.0의 누적 업데이트입니다. 이 업데이트에는 culture 이름의 변경 사항이 포함되어 있습니다. 새 culture 이름은 IETF 표준(RFC 4646 및 RFC 4647)의 구문을 따릅니다. culture 이름의 변경으로 인해 각 로캘의 식별자가 일관성을 갖게 되므로 상호 운용성이 향상됩니다.

이전 culture 이름과 새 culture 이름의 매핑은 다음과 같습니다.

이전 culture 이름

새 culture 이름

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

해결 과정

이 문제를 해결하려면 이전 culture 이름을 사용하는 새 로캘에서 사용자 지정 culture를 만듭니다. 이렇게 하려면 다음과 같이 하십시오.

참고 여기에 제공된 예제 프로그램을 사용하려면 .NET Framework 2.0이 설치되어 있어야 합니다.

  1. 사용자 지정 culture를 만드는 데 사용할 수 있는 응용 프로그램을 만듭니다. 이렇게 하려면 다음과 같이 하십시오.

    1. 시작, 실행을 차례로 누르고 notepad를 입력한 다음 확인을 누릅니다.

    2. 메모장에 다음 코드를 붙여 넣습니다.

      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);
      }
      }
      }

      참고 이 예제 프로그램은 새 culture의 부모를 이전 culture로 설정합니다. 이전 culture의 부모는 동시에 새 culture일 수 없습니다. 이렇게 되면 리소스 조회 중에 무한 재귀가 발생할 수 있기 때문입니다.

    3. 파일 메뉴에서 다른 이름으로 저장을 누릅니다.

    4. 다른 이름으로 저장 대화 상자에서 내 문서를 누르고 파일 이름 상자에 MakeCultures.cs를 입력한 다음 파일 형식 상자에서 모든 파일을 누르고 저장을 누릅니다.

    5. 메모장을 종료합니다.

  2. 1단계에서 만든 응용 프로그램을 실행하여 사용자 지정 culture를 만듭니다. 이렇게 하려면 다음과 같이 하십시오.

    1. 시작, 실행을 차례로 누르고 cmd를 입력한 다음 확인을 누릅니다.

    2. cd "My Documents"를 입력한 다음 Enter 키를 누릅니다.

    3. %windir%\Microsoft.NET\Framework\v2.0.50727\csc /r: sysglobl.dll MakeCultures.cs를 입력한 다음 Enter 키를 누릅니다.

    4. MakeCultures.exe를 입력하여 프로그램을 실행하고 culture를 만듭니다.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열한 제품에서 이 문제를 확인했습니다.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×