.NET Winform设置文件位置

Dim*_*tri 1 .net c# winforms

创建假定的C#Winform应用程序并转到项目属性时,此选项卡称为设置,该选项卡允许您存储一些变量。因此,当用户关闭应用程序并再次运行时,这些值不会丢失。因此,我猜想在某个地方创建了一些文件来存储在“设置”选项卡中声明的值。有人知道此文件位于何处吗?

Boj*_*zec 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>
Run Code Online (Sandbox Code Playgroud)

从MSDN的应用程序设置架构中

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

在更下方,您可以看到文件位置:

app.exe.config和user.config文件的位置将根据应用程序的安装方式而有所不同。对于复制到本地计算机上的基于Windows窗体的应用程序,app.exe.config将与该应用程序的主要可执行文件的基本目录位于同一目录,而user.config将位于Application.LocalUserAppDataPath指定的位置属性。