FIX: ينشئ فئة XmlSerializer نتيجة غير متوقعة عند استخدام فئة XmlSerializer تسلسل سمة numeration في .NET Framework 2.0

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية943175
الأعراض
عند استخدام فئة XmlSerializer تسلسل سمة numeration XML في Microsoft .NET Framework 2.0 بإنشاء فئة XmlSerializer نتيجة غير متوقعة.

على سبيل المثال، تتوقع نتيجة عملية تحويل البيانات إلى ملف أن التالية:
<myThing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:Scott">  <MyString xsi:nil="true" />   <OptionC xsi:nil="true"/> </myThing>
ومع ذلك، تكون النتيجة الفعلي التالية:
<myThing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:Scott">  <MyString xsi:nil="true"/> </myThing>
الحل

معلومات الإصلاح العاجل

يتوفر الآن إصلاح عاجل معتمد من Microsoft. ولكن الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. لذلك يجب استخدامه فقط مع الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. ولذلك، إذا لم يكن تأثير هذه المشكلة كبيرًا، نوصي بالانتظار حتى الإصدار التالي من حزمة خدمة .NET Framework 2.0 والذي يحتوي على هذا الإصلاح العاجل.

لحل هذه المشكلة فورًا، اتصل بخدمات دعم العملاء في Microsoft "للحصول على الإصلاح العاجل. للحصول على قائمة كاملة بأرقام الهاتف الخاصة بخدمات دعم العملاء في Microsoft وعلى معلومات حول تكاليف الدعم، قم بزيارة موقع Microsoft التالي على الويب:ملاحظة في بعض الحالات، قد يتم إلغاء المصروفات التي تُحتسب عادةً على مكالمات الدعم إذا قرر إخصائي الدعم لدى Microsoft أن تحديثًا معينًا سوف يعمل على حل المشكلة. سيتم تطبيق تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشكلات التي لا يعمل على حلها هذا التحديث.

المتطلبات الأساسية

يجب أن يكون لديك .NET Framework 2.0 تثبيت تطبيق هذا الإصلاح العاجل.

متطلب إعادة تشغيل

ليس لديك إلى إعادة تشغيل جهاز الكمبيوتر بعد تطبيق هذا الإصلاح العاجل.

معلومات استبدال الإصلاح العاجل

لا يحل هذا الإصلاح العاجل محل أية إصلاحات جديدة أخرى.

معلومات الملف

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل سمات الملف (أو أحدث منها) المسردة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات في "حسب التوقيت العالمي" (UTC). عندما تقوم بعرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي (UTC) والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
System.xml.dll2.0.50727.9342,031,61630 سبتمبر ٢٠٠٧03: 45x 86
تصريح
أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على".
معلومات أخرى
للحصول على المزيد من البرامج معلومات التحديث المصطلحات ، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
824684وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft

خطوات إعادة إنشاء المشكلة

  1. بدء تشغيل Visual Studio 2005.
  2. Create a blank C# project by using the following code:
    namespace Test{    class Program    {        static void Main(string[] args)        {            string outfile = ".\\MyTest.xml";            myThing mt = new myThing();            mt.mystring = null;            mt.ItemElementName = myThing.ItemChoiceType.OptionC;            mt.item = null;            mt.itemSpecified = true;            XmlSerializer ser = new XmlSerializer(typeof(myThing));            XmlTextWriter wtr = new XmlTextWriter(outfile, Encoding.UTF8);            ser.Serialize(wtr, mt);            wtr.Flush();            wtr.Close();        }    }    [XmlRoot(Namespace = "urn:Scott")]    public class myThing    {        [XmlElement("MyString", IsNullable = true)]        public string mystring;        [XmlChoiceIdentifier("ItemElementName")]        [XmlElement(ElementName = "OptionA", Type = typeof(object), IsNullable = true)]        [XmlElement(ElementName = "OptionB", Type = typeof(object), IsNullable = true)]        [XmlElement(ElementName = "OptionC", Type = typeof(object), IsNullable = true)]        [XmlElement(ElementName = "OptionD", Type = typeof(object), IsNullable = true)]        public object item;        [XmlIgnore]        public bool itemSpecified;        [XmlIgnore]        public ItemChoiceType ItemElementName;        [XmlType(Namespace = "urn:Scott", IncludeInSchema = false, AnonymousType = false)]        public enum ItemChoiceType        {            [XmlEnum("OptionA")]            OptionA,            [XmlEnum("OptionB")]            OptionB,            [XmlEnum("OptionC")]            OptionC,            [XmlEnum("OptionD")]            OptionD        }    }}
  3. لإنشاء هذا التطبيق وتشغيله.
عند عرض الملف MyTest.xml راجع المشكلة الموضحة في قسم "مؤشرات الخطأ".

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 943175 - آخر مراجعة: 11/20/2007 18:43:14 - المراجعة: 1.0

Microsoft .NET Framework 2.0

  • kbmt kbexpertiseadvanced kbpubtypekc kbqfe kbhotfixserver KB943175 KbMtar
تعليقات