Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Symptômes

Sur un ordinateur Microsoft Windows Server 2003, vous installez la mise à jour pour Microsoft .NET Framework 2.0 décrite dans l'article suivant de la Base de connaissances Microsoft :

928365 Description of the security update for the .NET Framework 2.0 for Windows Server 2003, Windows XP, and Windows 2000: July 10, 2007

Lorsque vous exécutez une application ou que vous essayez d'accéder à un site Web sur l'ordinateur, le message d'erreur suivant peut s'afficher :

[System.ArgumentException] : Le nom de culture 'Culture' n'est pas pris en charge pour les 13 cultures suivantes : 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

En outre, si une application a des ressources qui utilisent l'ancien format de nom de culture et que le nom de culture de l'utilisateur utilise le nouveau format, l'application ne peut pas trouver les ressources pour l'ancien format de nom de culture.

Cause

La mise à jour logicielle décrite dans la section « Symptômes » est une mise à jour cumulative pour .NET Framework 2.0. Elle inclut des modifications des noms de culture. Les nouveaux noms de culture suivent la syntaxe des normes IETF (RFC 4646 et RFC 4647). Les modifications apportées aux noms de culture améliorent l'interopérabilité en assurant que chaque paramètre régional dispose d'un identificateur cohérent.

Les correspondances entre les anciens noms de culture et les nouveaux sont répertoriées dans le tableau suivant :

Ancien nom de culture

Nouveau nom de 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

Contournement

Pour contourner ce problème, créez des cultures personnalisées à partir des nouveaux paramètres régionaux utilisant les anciens noms de culture. Pour cela, procédez comme suit :

Remarque .NET Framework 2.0 doit être installé sur l'ordinateur pour utiliser l'exemple de programme présenté ici.

  1. Créez une application qui peut être utilisée pour créer une culture personnalisée. Pour cela, procédez comme suit :

    1. Cliquez sur Démarrer, puis sur Exécuter. Tapez notepad, puis cliquez sur OK.

    2. Collez le code suivant dans le Bloc-notes.

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

      Remarque Cet exemple de programme définit les anciennes cultures comme parents des nouvelles cultures. Les parents des anciennes cultures ne peuvent pas être simultanément les nouvelles cultures, car cette situation provoquerait une situation de récursion infinie lors de la recherche des ressources.

    3. Dans le menu Fichier, cliquez sur Enregistrer sous.

    4. Dans la boîte de dialogue Enregistrer sous, cliquez sur Mes documents, tapez MakeCultures.cs dans la zone Nom de fichier, cliquez sur Tous les fichiers dans la zone Type, puis sur Enregistrer.

    5. Quittez le Bloc-notes.

  2. Exécutez l'application créée à l'étape 1 pour générer une culture personnalisée. Pour cela, procédez comme suit :

    1. Cliquez sur Démarrer, sur Exécuter, tapez cmd, puis cliquez sur OK.

    2. Tapez cd "Mes documents", puis appuyez sur ENTRÉE.

    3. Tapez %windir%\Microsoft.NET\Framework\v2.0.50727\csc /r: sysglobl.dll MakeCultures.cs, puis appuyez sur ENTRÉE.

    4. Tapez MakeCultures.exe pour exécuter le programme qui crée la culture.

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×