当您创建假设C#Winform应用程序并转到项目属性时,会出现一个名为settings的选项卡,允许您存储一些变量。因此,当用户关闭应用程序并再次运行它时,这些值不会丢失。所以我想在某处创建一些文件来存储设置选项卡中声明的值。有人知道这个文件的位置吗?
答案 0 :(得分:5)
如果您尝试添加想要保留的设置,则可以看到它们
YourApp.exe.config
文件,它位于构建输出二进制文件的同一目录中。
对于这样的设置:
... 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属性。