Oprava: Rekonstruované objekt může obsahovat objekty null při deserializaci objektu z XML v rozhraní .NET Framework 2.0

Překlady článku Překlady článku
ID článku: 918298 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Předpokládejme následující situaci. V Microsoft .NET Framework 2.0 importovat třídy ze souboru Web Services Description Language (WSDL) nebo ze souboru dokument schématu XML (XSD). Deserializaci objektu třídy z XML pomocí třídy XmlSerializer. V tomto scénáři rekonstruované objekt může obsahovat objekty null.

Příčina

K tomuto problému dochází, když jsou splněny následující podmínky:
  • Soubor WSDL nebo soubor XSD obsahuje alespoň jeden příkaz voleb XSD.
  • Volba příkazu XSD obsahuje alespoň jeden podřízený element.
  • Podřízený prvek Nastaví atribut maxOccurs hodnotu, která je větší než 1 nebo na Neomezeno.
Podřízený prvek navíc musí splňovat jednu nebo více následujících podmínek:
  • Název prvku neodpovídá názvu typu prvku.
  • Formulář atribut prvku nastaven neúplné.
  • Pokud je prvkem typ odkazu nillable atribut nastavena na hodnotu false. Jestliže je typ hodnotu prvek nillable atribut je nastavena na hodnotu true.
  • Datový typ prvek má nejednoznačné mapování na datový typ .NET, které musí být nastavena vlastnost XmlElementAttribute.DataType generovaného kódu. Například typ dat prvku nastavena na xsd:date, xsd:time, xsd:ID nebo xsd:token.
Například následující schéma příkladu způsobí potíže uvedené v části "Příznaky":
<xsd:choice>
  ...
  <xsd:element name="ElementName" type="ElementType" maxOccurs="unbounded" form="unqualified" />
  ...
</xsd:choice>

Řešení

Informace o opravě hotfix

Společnost Microsoft má nyní k dispozici podporovanou opravu hotfix, která je určena pouze k odstranění problému popsaného v tomto článku. Použijte ji pouze v systémech, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud není použití tento problém, doporučujeme počkat na další aktualizaci service pack pro rozhraní Microsoft .NET Framework 2.0, který obsahuje tuto opravu hotfix.

Potřebujete-li odstranit tento problém okamžitě, obraťte se na služby podpory společnosti Microsoft, kde můžete tuto opravu hotfix získat. Úplný seznam telefonních čísel služeb technické podpory společnosti Microsoft a informace o cenách technické podpory naleznete na tomto webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Poznámka: Poplatky, které je třeba obvykle zaplatit za telefonní hovory, mohou být stornovány, jestliže pracovník technické podpory společnosti Microsoft zjistí, že oznámený problém lze vyřešit konkrétní aktualizací. Další dotazy a žádosti o odbornou pomoc, které se netýkají této zvláštní opravy, podléhají běžným sazbám za poskytnutí odborné pomoci.

Požadavky

Musíte mít Microsoft .NET Framework 2.0 nainstalovali tuto opravu hotfix.

Požadavek na restartování

Po instalaci této opravy hotfix není třeba počítač restartovat.

Informace o nahrazení opravy hotfix

Tato oprava Hotfix nenahrazuje žádné další opravy Hotfix.

INFORMACE O SOUBORECH

Anglická verze této opravy hotfix má následující (nebo pozdější) atributy souborů. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Pokud zobrazíte informace o souboru, bude převedena na místní čas. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo v položce Datum a čas v ovládacím.
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČas
System.xml.dll2.0.50727.1032,035,71219. Dubna 200614: 56

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Další informace

Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 918298 - Poslední aktualizace: 3. prosince 2007 - Revize: 2.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft .NET Framework 2.0
Klíčová slova: 
kbmt kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB918298 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:918298

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com