J'utilise Visual Web Developer pour créer une bibliothèque de classes Silverlight. J'ai un autre projet où la bibliothèque de classes est importée et mise en œuvre. Il charge un fichier XML et j'utilise XmlSerializer.Deserialize dans une classe que j'ai créée avec xsd.exe.ManagedRuntimeError System.NotSupportedException: XLinq. Développement de Silverlight en C# avec Visual Web Developer
Parfois, lors du chargement du XML, je reçois cette erreur:
Unhandled Error in Silverlight 2 Application Code: 4004 Category: ManagedRuntimeError Message: System.InvalidOperationException: There is an error in XML document (149, 10). ---> System.NotSupportedException: XLinq at System.Xml.Serialization.XmlSerializationReader.ReadXmlNodes(Boolean elementCanBeType) at System.Xml.Serialization.XmlSerializationReader.ReadTypedPrimitive(XmlQualifiedName type, Boolean elementCanBeType) at System.Xml.Serialization.XmlSerializationReader.ReadTypedPrimitive(XmlQualifiedName type)
J'ai découvert qu'il se produit seulement quand il y a une balise appelée extensions dans mon fichier XML. Au début, je pensais que c'était incorrectement défini dans la classe C# générée par xsd.exe, mais cela fonctionne si je change les extensions à un autre nom. Malheureusement, il n'est pas possible de changer le nom de cette balise en permanence. J'ai exclu les mots réservés. Google n'a aucune information sur cette erreur.
XmlSerializationReader se trouve dans la classe System.Xml.Serialization. – nerdabilly
@nerdabilly, comment vérifiez-vous cela? J'ai supprimé toutes les DLL du réflecteur, puis chargé explicitement le System.Xml.dll à partir du répertoire Silverlight et il ne contient pas cette classe. – JaredPar
@JaredPar, vous devez également ajouter une référence à la bibliothèque System.Xml.Serialization.dll. Il devrait être dans le répertoire Silverlight. – nerdabilly