我正在使用 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>