C#设置文件值保存在哪里?它不在appName.config中

时间:2011-06-02 09:05:39

标签: c#-2.0 configuration-files

我正在使用C#中的设置文件。并且无法找到保存值的位置。 该应用程序工作正常,但当我想手动更改appName.cpnfig中的值时,它不会加载/保存那里的值,但在其他地方。 有谁知道在哪里?

2 个答案:

答案 0 :(得分:0)

Again, user config files C#可能重复。

这取决于您的Windows版本。在Windows 7中,我将它放在C:\ Users \ tim \ AppData \ Local ...下作为user.config。有关详细信息,请参阅http://msdn.microsoft.com/En-US/library/8eyb2ct1.aspx

  

设置文件位置

     

app.exe.config和的位置   user.config文件将根据不同而有所不同   应用程序的安装方式。对于   基于Windows窗体的应用程序   复制到本地计算机上,   app.exe.config将驻留在同一个   directory作为基本目录   应用程序的主要可执行文件,   和user.config将驻留在   由...指定的位置   Application.LocalUserAppDataPath   属性。对于已安装的应用程序   通过ClickOnce,这两个   文件将驻留在ClickOnce中   下面的数据目录   %InstallRoot%\ Documents and   设置\用户名\本地设置。

     

这些文件的存储位置是   如果用户有一些不同   启用漫游配置文件,其中   使用户能够定义不同的   Windows和应用程序设置时   他或她正在使用其他电脑   在域内。在这种情况下,两者   ClickOnce应用程序和   非ClickOnce应用程序将具有   他们的app.exe.config和user.config   存储在。下的文件   %InstallRoot%\ Documents and   设置\用户名\应用程序数据。

     

有关如何使用的更多信息   应用程序设置功能   使用新的部署技术,   请参阅ClickOnce和Application   设置。有关的更多信息   ClickOnce数据目录,请参阅   访问本地和远程数据   ClickOnce Applications。

答案 1 :(得分:0)

默认设置'值放在自动生成的强类型版本中(例如,如果您的设置文件是“Some.settings”,强类型版本将是“SomeSettings.Designer.cs”)

您可以通过在app.config中添加配置部分来覆盖它们,如下所示:

<configuration>
  <configSections>
      <section
        name="SomeNamespace.SomeSettings"
        type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        requirePermission="false"
      />
    </sectionGroup>
  </configSections>

  <applicationSettings>
    <SomeNamespace.SomeSettings>
       <setting name="SomeExistingSetting" serializeAs="String">
        <value>Some new value</value>
      </setting>
  </applicationSettings>
<configuration>