Síntomas

En un equipo que tenga instalado Microsoft Windows Server 2003, instala la actualización de software de Microsoft .NET Framework 2.0 que se describe en el artículo siguiente de Microsoft Knowledge Base:

928365 Descripción de la actualización de seguridad para .NET Framework 2.0 para Windows Server 2003, Windows XP y Windows 2000: 10 de julio de 2007 Cuando ejecuta una aplicación o intenta tener acceso al sitio web del equipo, puede recibir el mensaje de error siguiente:

[System.ArgumentException] : Culture name 'Culture' is not supported for the following 13 cultures: az-AZ-Latn uz-UZ-Latn en-CB az-AZ-Cyrl uz-UZ-Cyrl del sr-sp-Latn sr-sp-Cyrl Cyrl de BA de bs sr-BA-Cyrl del sr-BA-Latn Latn de CA de iu div-MV del Latn de BA de bs

Además, si una aplicación tiene recursos que utilizan el formato de nombre de referencia cultural antiguo, y si el nombre de la referencia cultural del usuario utiliza el nuevo formato de nombre de referencia cultural, la aplicación no puede buscar los recursos para el formato de nombre de referencia cultural antiguo.

Causa

La actualización de software que se menciona en la sección "Síntomas" es una actualización acumulativa para .NET Framework 2.0. Esta actualización incluye cambios en los nombres de referencias culturales. Los nuevos nombres siguen la sintaxis de los estándar IETF (RFC 4646 y RFC 4647). Los cambios en los nombres culturales mejoran la interoperabilidad al garantizar que cada configuración regional tenga un identificador coherente.Las asignaciones de los nombres de la referencia cultural anteriores a los nuevos nombres de la referencia cultural se hacen del siguiente modo:

Nombre de la referencia cultural anterior

Nombre de la referencia cultural nueva

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

Solución

Para evitar este problema, genere las referencias culturales personalizadas de las nuevas configuraciones regionales que utilizan los nombres de las referencias culturales anteriores. Para ello, siga estos pasos.Nota: debe tener .NET Framework 2.0 instalado para utilizar el programa de muestra que se proporciona aquí.

  1. Cree una aplicación que se puede utilizar para generar una referencia cultural personalizada. Para ello, siga estos pasos:

    1. Haga clic en Inicio, haga clic enEjecutar, escriba notepad y, a continuación, haga clic en Aceptar.

    2. Pegue el código siguiente en el Bloc de notas.

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

      Nota: este programa de muestra establece los elementos primarios de las nuevas referencias culturales en las referencias culturales anteriores. Los elementos primarios de las referencias culturales anteriores no pueden ser al mismo tiempo las nuevas referencias culturales, porque esta situación produciría la recursividad infinita durante la búsqueda de recurso.

    3. En el menú Archivo, haga clic enGuardar como.

    4. En el cuadro de diálogo Guardar como, haga clic en Mis documentos, escriba MakeCultures.cs en elcuadro Nombre de archivo, haga clic en Todos los archivos en el cuadroGuardar como tipo, y luego haga clic enGuardar.

    5. Cierre el Bloc de notas.

  2. Ejecute la aplicación que creó en el paso 1 para generar una referencia cultural personalizada. Para ello, siga estos pasos:

    1. Haga clic en Inicio y enEjecutar, escriba cmd y haga clic enAceptar.

    2. Escriba cd "Mis documentos" y, a continuación, presione Entrar.

    3. Escriba %windir%\Microsoft.NET\Framework\v2.0.50727\csc /r: sysglobl.dll MakeCultures.csy, a continuación, presione Entrar.

    4. Escriba MakeCultures.exe para ejecutar el programa que genera la referencia cultural.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a".

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.