我已使用配置编辑器为我的c#应用程序添加了一些设置。有三个配置项;两个类型字符串和一个类型int。这三个都有应用范围。
编译应用程序时,exe.config文件在< applicationSettings>下包含两个子部分。这些是< appName.Settings>包含所有三个配置项和< appName.Settings1>仅包含字符串值。
所以,而不是具有以下结构
<applicationSettings>
<appName.Settings>
...
...
...
</appName.Settings>
</applicationSettings>
我有以下结构
<applicationSettings>
<appName.Settings>
...
...
...
</appName.Settings>
<appName.Settings1>
...
...
</appName.Settings1>
</applicationSettings>
我查看了属性,看不到任何看起来可能会提示此行为的内容。任何人都可以解释为什么会这样,并告诉我如何阻止它?
感谢。
答案 0 :(得分:0)
查看配置文件顶部附近:
<sectionGroup name="applicationSettings" ...
<section name="Settings" ...
<section name="Settings1" ...
</sectionGroup>
删除Settings1条目,然后删除上面提到的Settings1的applicationSettings部分。
<appName.Settings1>
...
...
</appName.Settings1>
在创建2个字符串设置后,您是否偶然更改了此应用程序或程序集的名称?当程序集名称更改时,它会创建一个新的applicationSettings条目,并在配置文件中保留旧的程序集名称设置。