2009-06-08 3 views
1

Visual Web Developer를 사용하여 Silverlight 클래스 라이브러리를 작성하고 있습니다. 클래스 라이브러리를 가져 와서 구현하는 다른 프로젝트가 있습니다. XML 파일을로드하는 중이고 xsd.exe로 만든 클래스에 XmlSerializer.Deserialize를 사용하고 있습니다.ManagedRuntimeError System.NotSupportedException : XLinq. Visual Web Developer를 사용하여 C#으로 Silverlight 개발

 
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 파일의 확장이라는 태그가있는 경우에만 발생하는 것을 발견했습니다 : XML을로드 할 때

때때로, 나는이 오류가 발생합니다. 처음에는 이것이 xsd.exe에 의해 생성 된 C# 클래스에서 부적절하게 정의되었다고 생각했지만 Extension을 다른 이름으로 변경하면 작동합니다. 죄송 합니다만이 태그의 이름을 영구적으로 변경하는 것은 옵션이 아닙니다. 나는 예약어를 배제했다. Google은이 오류에 대한 정보가 없습니다.

답변

1

꽤 이상합니다. 당신이 올린 스택 추적은 불가능한 것 같습니다. 2.0 Silverlight 버전의 System.Xml.dll을 살펴보면 XmlSerializationReader라는 클래스가 없음을 알 수 있습니다. 이 클래스는 System.Xml.dll의 전체 프레임 워크 버전에만 있습니다.

System.Xml.dll의 프레임 워크 버전을 배포하려고 시도 했습니까? 아니면 내가 누락 된 다른 라이브러리를 사용하여 해당 클래스에 액세스 할 수 있습니까?

+0

XmlSerializationReader는 System.Xml.Serialization 클래스에 있습니다. – nerdabilly

+0

@nerdabilly, 어떻게 그걸 확인 하시겠습니까? 리플렉터에서 모든 DLL을 삭제 한 다음 Silverlight 디렉터리에서 System.Xml.dll을 명시 적으로로드하고 해당 클래스를 포함하지 않습니다. – JaredPar

+0

@ JaredPar, System.Xml.Serialization.dll Library에 대한 참조도 추가해야합니다. Silverlight 디렉터리에 있어야합니다. – nerdabilly