我遇到了一个让我发疯的问题。我想将哈希表添加到设置中(并添加了 2 个哈希表),但是当我尝试使用它时,它抛出了一个异常(对象引用未设置为对象的实例。)。然后我查看了 app.config,它看起来像这样:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
</configuration>
然后我在 app.config 文件中添加了两个哈希表,现在我的配置文件如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="APPNAME.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<APPNAME.Properties.Settings>
<setting name="UserInfo" serializeAs="System.Collections.Hashtable">
<value />
</setting>
<setting name="UserText" serializeAs="System.Collections.Hashtable">
<value />
</setting>
</APPNAME.Properties.Settings>
</userSettings>
当我尝试使用哈希表时,它抛出了以下异常: 无法解析属性“serializeAs”的值。
我用谷歌搜索过但没有成功,我在msdn上搜索也没有找到。
最佳答案
哈希表不支持序列化为 XML。您在 Settings.Settings 中只有 2 个可用选项。 XML 或字符串。将您的序列化选项更改为
serializeAs="Binary"
与您的设置类类似,您必须将序列化选项属性指定为
[SettingsSerializeAs(SettingsSerializeAs.Binary)]
关于c# - 将哈希表添加到设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17900408/