2

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

1 回答 1

1

configSections您必须在 app.config 文件中引用实现自定义部分的类。

检查http://msdn.microsoft.com/en-us/library/2tw134k3%28v=vs.100%29.aspx了解更多信息。

于 2012-10-15T19:06:12.483 回答