ManagedRuntimeError System.NotSupportedException: XLinq. Разработка Silverlight на C # с помощью Visual Web Developer - PullRequest
1 голос
/ 08 июня 2009

Я использую Visual Web Developer для создания библиотеки классов Silverlight. У меня есть другой проект, в котором библиотека классов импортирована и реализована. Он загружает файл XML, и я использую XmlSerializer.Deserialize в класс, который я создал с помощью xsd.exe.

Иногда при загрузке XML я получаю эту ошибку:

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)

Я обнаружил, что это происходит только тогда, когда в моем XML-файле есть тег Extensions. Сначала я подумал, что это неправильно определено в классе C #, созданном xsd.exe, но он работает, если я изменяю расширения на любое другое имя. К сожалению, просто изменить имя этого тега навсегда невозможно. Я исключил зарезервированные слова. У Google нет информации об этой ошибке.

1 Ответ

1 голос
/ 08 июня 2009

Это довольно странно. Установленная вами трассировка стека кажется невозможной. Если вы изучите версию System.Xml.dll 2.0 Silverlight, вы заметите, что не существует класса с именем XmlSerializationReader. Этот класс присутствует только в полной версии платформы System.Xml.dll.

Вы пытались развернуть базовую версию System.Xml.dll? Или вы используете другую библиотеку, которую мне не хватает, чтобы получить доступ к этому классу?

...