c#在不同计算机上保存用户设置的不同行为

时间:2014-10-21 09:22:35

标签: c# settings

我对设置如何将用户设置存储在不同的机器中感到困惑。

假设我在app.config中存储了以下用户设置:

   <userSettings>
    <StationAgent.Properties.Settings>
      <setting name="AAA" serializeAs="String">
        <value>11</value>
      </setting>
      <setting name="BBB" serializeAs="String">
        <value>22</value>
      </setting>
      <setting name="CCC" serializeAs="String">
        <value>33</value>
      </setting>
      <setting name="DDD" serializeAs="String">
        <value>44</value>
      </setting>
    </StationAgent.Properties.Settings>
  </userSettings>

在代码中我将“AAA”的值更改为666并保存并读取“BBB”值。

在我的本地计算机(Windows 7)上,存储在user.config中“Local”文件夹中的设置为

   <userSettings>
    <StationAgent.Properties.Settings>
      <setting name="AAA" serializeAs="String">
        <value>666</value>
      </setting>
      <setting name="BBB" serializeAs="String">
        <value>22</value>
      </setting>
    </StationAgent.Properties.Settings>
  </userSettings>

当在服务器(Windows Server 2007)上运行相同的代码时,配置文件如下所示:

<userSettings>
<StationAgent.Properties.Settings>
  <setting name="AAA" serializeAs="String">
    <value>666</value>
  </setting>
  <setting name="BBB" serializeAs="String">
    <value></value>
  </setting>
  <setting name="CCC" serializeAs="String">
    <value></value>
  </setting>
  <setting name="DDD" serializeAs="String">
    <value></value>
  </setting>
</StationAgent.Properties.Settings>

正如您在第一种情况下看到的那样,唯一触摸的值存储在不同的文件中,在第二种情况下,所有变量都以默认值保存,但“AAA”除外。

我的问题是为什么会有这种差异?我究竟做错了什么?我怎么解决这个问题?

如果这有帮助我总是使用Settings.Default工作并进行Settings.Default.Save()。

0 个答案:

没有答案