我有一个简单的ObjectToSerialize settings
作为参数传递给一个名为PersistSettings的方法(对于引用,ObjectToSerialize只有一个属性 - 一个dateTime属性)
在那个PersistSettings方法中,我有代码来序列化ObjectToSerialize对象,如下所示
var serializer = new XmlSerializer(typeof(ObjectToSerialize));
using (var stream = File.OpenWrite(filePath))
{
serializer.Serialize(stream, settings);
}
持续存在的xml无效。它总是以同样的方式无效 - 额外的>在文件的最后。所以我得到了:
<?xml version="1.0"?>
<ObjectToSerialize xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Item>Important piece of data</Item>
</ObjectToSerialize>>
当我尝试读取xml时,我得到一个InvalidOperationException(如预期的那样)。幸运的是,如果需要,可以重新生成存储在设置中的数据,这样我就可以删除文件并再次保存(但不是在它保存副本之前,我可以尝试解决问题所在)
该问题似乎与被捕获或记录的任何其他错误或问题无关。
有人有任何想法吗?或者甚至曾经见过这个?