أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

ظهور رسالة الخطأ التالية عند تشغيل تطبيق أو محاولة الوصول إلى موقع ويب على جهاز كمبيوتر مثبت عليه تحديث محدد لبرنامج ‎.NET Framework 2.0: "اسم البيانات الموروثة 'Culture' غير مدعم"

الأعراض
تقوم بتثبيت تحديث برنامج Microsoft .NET Framework 2.0 الموضح في مقالة "قاعدة معارف Microsoft" التالية على جهاز كمبيوتر مثبت عليه Microsoft Windows Server 2003 (قد تحتوي هذه المقالة على ارتباطات إلى محتوى باللغة الإنجليزية (محتوى لم تتم ترجمته بعد)):
928365 وصف التحديث الأمني لـ ‎.NET Framework 2.0 الخاص بأنظمة التشغيل Windows Server 2003 وWindows XP وWindows 2000: ١٠ يوليو ٢٠٠٧
قد تتلقى رسالة الخطأ التالية عند تشغيل تطبيق أو محاولة الوصول إلى موقع ويب على جهاز الكمبيوتر:
‎[System.ArgumentException] : Culture name 'Culture' is not supported for the following 13 cultures (اسم البيانات الموروثة '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
بالإضافة إلى ذلك، إذا كان لأحد التطبيقات موارد تستخدم تنسيق اسم بيانات موروثة قديم، بينما يستخدم اسم البيانات الموروثة الخاصة بالمستخدم تنسيق اسم البيانات الموروثة الجديد، لا يمكن للتطبيق العثور على موارد لتنسيق اسم البيانات الموروثة القديم.
السبب
تحديث البرنامج المذكور في قسم "الأعراض" هو تحديث تراكمي لـ ‎.NET Framework 2.0. ويتضمن هذا التحديث تغييرات لأسماء البيانات الموروثة. وتتبع أسماء البيانات الموروثة الجديدة بناء الجملة الخاص بمقاييس ‪IETF (RFC 4646 وRFC 4647)‎. وتعمل التغييرات التي يتم إجراؤها على أسماء البيانات الموروثة على تحسين التوافق بالتأكد من أن لكل لغة محلية معرف متناسق.

تعيينات أسماء البيانات الموروثة القديمة إلى أسماء البيانات الموروثة الجديدة هي كما يلي:
اسم البيانات الموروثة القديم اسم البيانات الموروثة الجديد
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
الحل البديل
للتغلب على هذه المشكلة بحل بديل، قم بإنشاء بيانات موروثة مخصصة من اللغات المحلية الجديدة التي تستخدم أسماء البيانات الموروثة القديمة. للقيام بذلك، اتبع الخطوات التالية.

ملاحظة يجب أن يكون ‎.NET Framework 2.0 مثبتًا لديك لكي تتمكن من استخدام نموذج البرنامج المتوفر هنا.
  1. قم بإنشاء تطبيق يمكن استخدامه لإنشاء بيانات موروثة مخصصة. للقيام بذلك، اتبع الخطوات التالية:
    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);‎        }    }}
      ملاحظة يقوم نموذج البرنامج هذا بتعيين أصول البيانات الموروثة الجديدة إلى البيانات الموروثة القديمة. لا يمكن أن تكون أصول البيانات الموروثة القديمة هي البيانات الموروثة الجديدة في نفس الوقت، لأن هذا الموقف قد يتسبب في حدوث تكرار مستمر أثناء البحث في المورد.
    3. من القائمة ملف، انقر فوق حفظ باسم.
    4. في مربع الحوار حفظ باسم، انقر فوق المستندات، واكتب MakeCultures.cs في المربع اسم الملف، وانقر فوق كافة الملفات في المربع حفظ كنوع، ثم انقر فوق حفظ.
    5. قم بإنهاء برنامج "المفكرة".
  2. قم بتشغيل التطبيق الذي قمت بإنشائه في الخطوة رقم 1 لإنشاء بيانات موروثة مخصصة. للقيام بذلك، اتبع الخطوات التالية:
    1. انقر فوق ابدأ، ثم انقر فوق تشغيل، ثم اكتب cmd، ثم انقر فوق موافق.
    2. اكتب cd "My Documents"‎، ثم اضغط مفتاح "الإدخال".
    3. اكتب ‎%windir%\Microsoft.NET\Framework\v2.0.50727\csc /r: sysglobl.dll MakeCultures.cs، ثم اضغط مفتاح "الإدخال".
    4. اكتب MakeCultures.exe لتشغيل البرنامج لإنشاء البيانات الموروثة.
تصريح
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في قسم "ينطبق على".
patch 6847 update 928365 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 MSRC
خصائص

رقم الموضوع: 939949 - آخر مراجعة: 12/03/2007 19:00:00 - المراجعة: 1.1

Microsoft .NET Framework 2.0

  • kbbug kbfix kbsecvulnerability kbqfe kbsecurity kbsecbulletin kbpubtypekc kbexpertiseadvanced KB939949
تعليقات