1

我正在使用 Visual Web Developer 构建 Silverlight 类库。我有另一个导入和实现类库的项目。它正在加载一个 XML 文件,我正在使用 XmlSerializer.Deserialize 到我用 xsd.exe 创建的类中。

有时,在加载 XML 时,我会收到此错误:

Silverlight 2 应用程序中未处理的错误
代码:4004    
类别:ManagedRuntimeError       
消息:System.InvalidOperationException:XML 文档 (149、10) 中存在错误。---> System.NotSupportedException: Xlinq
   在 System.Xml.Serialization.XmlSerializationReader.ReadXmlNodes(布尔元素CanBeType)
   在 System.Xml.Serialization.XmlSerializationReader.ReadTypedPrimitive(XmlQualifiedName 类型,布尔元素CanBeType)
   在 System.Xml.Serialization.XmlSerializationReader.ReadTypedPrimitive(XmlQualifiedName 类型)

我发现只有在我的 XML 文件中有一个名为 Extensions 的标签时才会出现这种情况。起初我认为这是在 xsd.exe 生成的 C# 类中不正确定义的,但如果我将 Extensions 更改为任何其他名称,它就可以工作。不幸的是,简单地永久更改此标签的名称不是一种选择。我已经排除了保留字。谷歌没有关于这个错误的信息。

4

1 回答 1

1

这很奇怪。您提出的堆栈跟踪似乎是不可能的。如果您检查 System.Xml.dll 的 2.0 Silverlight 版本,您会注意到没有名为 XmlSerializationReader 的类。此类仅存在于 System.Xml.dll 的完整框架版本中。

您是否尝试部署 System.Xml.dll 的框架版本?或者您是否正在使用我缺少的其他库来访问该课程?

于 2009-06-08T17:53:23.697 回答