我得到一個BindingFailure上使用XmlSerializer一個行代碼:C#XmlSerializer的BindingFailure
XmlSerializer s = new XmlSerializer(typeof(CustomXMLSerializeObject));
與顯示名稱CustomXMLSerializeObject.XmlSerializers的組件未能在加載‘LoadFrom’結合在AppDomain的上下文ID爲1.導致失敗的原因是:System.IO.FileNotFoundException:無法加載文件或程序集XMLSerializeObject.XmlSerializers,版本= 1.4.0.0,Culture = neutral,PublicKeyToken = null'或其依賴項之一。該系統找不到指定的文件。
該錯誤非常長,並繼續解釋預綁定狀態信息以及它嘗試查找文件的位置。
我試圖去序化的自定義對象相對簡單 - 只是一堆私有整數和具有公共訪問器的字符串。我有一個私有變量是另一個自定義的可序列化類,但是這個私有變量只有公有訪問器在其中。
尷尬的部分?這隻發生在我反序列化的時候。當我序列化對象時,這行代碼運行良好。它工作正常,對象被反序列化並完美填充。不要真正注意到任何性能損失或長時間加載。
這個警告到底是什麼(不是錯誤或異常,程序運行正常)?爲什麼會發生?如果不簡單地禁用警告,我該如何防止它?
您可以避免讓運行時通過使用SGEN進行預烘焙(而不是最有趣的工具)來實時創建序列化程序集。只是一個想法,但我不知道爲什麼你會得到這個錯誤。 – 2010-02-05 18:41:43
你的項目的根名稱空間是什麼? – SwDevMan81 2010-02-05 19:10:36
是的,名稱空間是不同的。因爲我不想放棄任何東西可以讓我的流氓起訴,讓我們只是說應用程序的名稱空間是「Namespace1」和可序列化的對象是在「Namespace2」。 – 2010-02-05 19:21:44