我正在使用DataContractSerializer作为一个独立的部分来序列化一些使用DataContract / Member的对象...不幸的是,如果我将自定义的App.Config部分添加到我的解决方案的配置设置中,它会一直抛出异常与此过程无关...例如,我的配置设置如下:
<configuration>
<appSettings>
<!--stuff goes here -->
</appSettings>
<MyCustomSectionItDoesntLike>
<!--stuff goes here -->
</MyCustomSectionItDoesntLike>
</configuration>
然后我拿走了这个对象并尝试使用内存流写...
DataContractSerializer serializer = new DataContractSerializer(item.GetType());
using (MemoryStream memoryStream = new MemoryStream())
{
serializer.WriteObject(memoryStream, item);
}
如果我从配置设置中删除MyCustomSectionItDoesntLike,它可以正常工作,但当我重新插入时,会触发异常:
消息:
的类型初始值设定项 'System.Runtime.Serialization.DiagnosticUtility'引发了异常。
内
无法识别的配置部分MyCustomSectionItDoesntLike。 (D:\ test \ bin \ x86 \ Debug \ test.vshost.exe.config第47行)
我不确定为什么它不关心该设置在项目中的任何位置,除非我要进行序列化...是否需要添加设置或配置部分才能使其正常工作?
谢谢!
总骨头错误....与序列化器无关......
<configuration>
<configSections>
<!--This is where i blew it -->
<section name="MyCustomSectionItDoesntLike" type="System.Stuff.Stuff" />
</configSections>
<appSettings>
<!--stuff goes here -->
</appSettings>
<MyCustomSectionItDoesntLike>
<!--stuff goes here -->
</MyCustomSectionItDoesntLike>
</configuration>
答案 0 :(得分:1)
您必须在app.config文件的configSections
中引用实现自定义部分的类。
查看http://msdn.microsoft.com/en-us/library/2tw134k3%28v=vs.100%29.aspx了解详情。