我有一個xml反序列化和動態加載程序集的問題。我直接從一個zip文件加載我的程序集到一個字節數組。然後我加載這個程序集。程序集包含一個數據模型,應該使用XmlSerializer進行反序列化。 問題是我總是得到一個TypeInitializationException,如果我嘗試加載我的XML。用動態加載程序集反序列化XML
例外的是以下(德國):
System.InvalidOperationException: Fehler im XML-Dokument (62,13). --->
System.TypeInitializationException: Der Typeninitialisierer für
"Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderOrder" hat eine
Ausnahme verursacht. ---> System.NullReferenceException: Der Objektverweis wurde
nicht auf eine Objektinstanz festgelegt.
bei Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderOrder..cctor()
如果我直接從DLL文件從zip加載我的DLL,而不是到一個字節數組中,XML可以成功地反序列化。
我發現互聯網,問題可能是列表與自己的類型,但我在那裏找到的解決方案並沒有解決我的問題。
編輯:
我發現我不能使用泛型列表與自己的類型,如果我通過字節數組加載程序集,因爲它是在其他網站上寫的。我不能說,爲什麼我第一次沒有成功使用這個解決方案,但經過第二次嘗試後,它的工作原理。我已經對ArrayList做了一個解決方法,但是我對此非常不滿。有沒有更好的解決方案,我可以使用泛型列表?或者如果沒有更好的解決方案,是否有更好的XML串行器/解串器?
當我在前些日子試圖連載一個物體時,我因爲沒有一個沒有參數的consructor而發牢騷。執行逆向操作可能會導致這裏的問題? – brumScouse 2010-08-17 19:13:34