2013-10-17 53 views
3

因此,在本地,我成功地能夠序列化/反序列化我的對象,該對象具有一個私有setter的Field。現在,當我將相同的代碼移到其他機器上時,代碼會成功運行。但是,當我從此代碼構建msi時,在RELEASE模式下,序列化程序無法處理對象中同一個字段的反序列化。爲什麼這種行爲存在或被允許有特定的原因嗎?對XML序列化的好奇邂逅

public class ParentObject 
{ 

    [XmlArray("ChildObjects"), XmlArrayItem("ChildObject")] 
    public List<ChildObject> ChildObjects{ get; private set; } 

} 
+0

什麼微星在調試模式?或者在發佈模式下正常應用?只有在執行msi和發行版時纔會發生錯誤? – sisve

+0

嘗試使用具有後臺字段且根本沒有setter的普通屬性。 – Ralf

+0

不是。調試中的msi有效,並且發佈模式下的相同應用程序可以工作。但由於某種原因,在這臺機器上,它根本不反序列化。拋出未經授權的寫入臨時異常 – Kobojunkie

回答

0

對於未來的求知者,如在由@Ralf註釋中列出的問題是,XmlSerializer的不具有特定服務器的臨時目錄的權限。

這裏是另一篇文章,概述了這個確切的情況,有一些代碼示例,

ASP.NET Access to the temp directory is denied