.NET Winform设置文件位置

时间:2014-02-09 16:45:41

标签: c# .net winforms

当您创建假设C#Winform应用程序并转到项目属性时,会出现一个名为settings的选项卡,允许您存储一些变量。因此,当用户关闭应用程序并再次运行它时,这些值不会丢失。所以我想在某处创建一些文件来存储设置选项卡中声明的值。有人知道这个文件的位置吗?

1 个答案:

答案 0 :(得分:5)

如果您尝试添加想要保留的设置,则可以看到它们 YourApp.exe.config文件,它位于构建输出二进制文件的同一目录中。

对于这样的设置:

enter image description here

... WindowsFormsApplication1.exe.config文件(由Visual Studio生成并放在输出WindowsFormsApplication1.exe的同一目录中)包含您添加的设置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="WindowsFormsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="WindowsFormsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <userSettings>
        <WindowsFormsApplication1.Properties.Settings>
            <setting name="UserSetting" serializeAs="String">
                <value>UserValue</value>
            </setting>
        </WindowsFormsApplication1.Properties.Settings>
    </userSettings>
    <applicationSettings>
        <WindowsFormsApplication1.Properties.Settings>
            <setting name="AppSetting" serializeAs="String">
                <value>AppValue</value>
            </setting>
        </WindowsFormsApplication1.Properties.Settings>
    </applicationSettings>
</configuration>

来自MSDN的Application Settings Architecture

  
      
  • 应用程序范围的设置可以存储在machine.config中   或app.exe.config文件。 Machine.config始终是只读的,而   安全注意事项将app.exe.config限制为只读   适用于大多数应用
  •   
  • 用户范围的设置可以存储在app.exe.config文件中,在这种情况下,它们将被视为静态   默认值。
  •   
  • 非默认用户范围设置存储在新文件中,   user.config
  •   

再向下,您可以看到文件位置:

  

app.exe.config和user.config文件的位置会有所不同   基于应用程序的安装方式。对于基于Windows窗体的   应用程序复制到本地计算机上,app.exe.config将驻留   在与应用程序main的基本目录相同的目录中   可执行文件,user.config将驻留在指定的位置   通过Application.LocalUserAppDataPath属性。