Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Düzeltme: XmlSerializer sınıf numaralandırma özniteliği, .NET Framework 2.0 seri hale getirmek için XmlSerializer sınıf kullandığınızda beklenmeyen bir sonuç üretir

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 943175
Belirtiler
Microsoft .NET Framework 2.0 XML Numaralandırma özniteliğinde seri hale getirmek için XmlSerializer sınıf kullandığınızda XmlSerializer sınıf beklenmeyen bir sonuç üretir.

Örneğin, seri hale getirme şöyle bulunmasını bekler:
<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>
Ancak, gerçek sonucu aşağıdaki gibidir:
<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>
Çözüm

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bunun yalnızca bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Bu, yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltme ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilemiyorsa, bu düzeltmeyi içeren bir sonraki .NET Framework 2.0 hizmet paketini beklemenizi öneririz.

Bu sorunu hemen çözümlemek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri telefon numaralarının ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesini ziyaret edin:Not Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu belirlerse, normal destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.

Ön koşullar

.NET Framework 2.0 Bu düzeltmeyi uygulamak için yüklü olması gerekir.

Yeniden başlatma gereksinimi

Bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.

Düzeltme değiştirme bilgileri

Bu düzeltme eki, başka düzeltmelerin yerini almaz.

Dosya bilgileri

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'te (UTC) listelenmiştir. Dosya bilgilerini görüntülediğinizde koordinatlı evrensel saat yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki Tarih ve Saat öğesinde Saat Dilimi sekmesini kullanın.
Dosya adıDosya sürümüDosya boyutuTarihSaatPlatform
System.xml.dll2.0.50727.9342,031,61630-09-200703:45x86
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Daha fazla bilgi
Daha fazla bilgi yazılımı güncelleştirme terminolojisi, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Sorunu yeniden oluşturma adımları

  1. Visual Studio 2005'i başlatın.
  2. Aşağıdaki kodu kullanarak boş bir C# projesi oluşturun:
    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. Yapı ve bu uygulamayı çalıştırın.
MyTest.xml dosyasını görüntülediğinizde, "Belirtiler" bölümünde açıklanan sorun bakın.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 943175 - Son İnceleme: 08/17/2015 05:21:00 - Düzeltme: 2.0

Microsoft .NET Framework 2.0

  • kbexpertiseadvanced kbqfe kbmt KB943175 KbMttr
Geri bildirim