在 .NET Framework WinForms 项目中,项目中有一个 App.config 文件,该文件是一个 XML 文件,其中包含一个 configSection,该文件将引用 System.Configuration 中的一个类,以及一个用于 userSettings 本身的部分,如下所示:
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561944e089">
<section name="MyAppName.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561944e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<MyAppName.Properties.Settings>
<setting name="Test" serializeAs="String">
<value>Some Value</value>
</setting>
</MyAppName.Properties.Settings>
</userSettings>
Run Code Online (Sandbox Code Playgroud)
这在构建文件夹中创建了一个文件,其中应用程序名称加上 .exe.config,如 MyAppName.exe.config。
但是当我使用 .NET 创建一个新的 WinForms 项目时:
解决方案中没有 App.config。我可以使用项目属性编辑设置:
我可以访问这些值,并使用相同的 Properties 对象和方法更新它们:
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
textBox1.Text = Properties.Settings.Default.Test;
}
private void button1_Click(object sender, EventArgs e)
{
Properties.Settings.Default.Test = textBox1.Text;
Properties.Settings.Default.Save();
}
}
}
Run Code Online (Sandbox Code Playgroud)
一切似乎都有效,但是当我检查 bin 文件夹时,我看不到值实际存储位置的文件。
如果 .NET 5 与应用程序的 exe 不在同一文件夹中的文件中,那么 .NET 5 在哪里存储已保存的应用程序设置?
用户设置存储user.config在以下路径的文件中:
%userprofile%\appdata\local\<Application name>\<Application uri hash>\<Application version>
默认情况下(意外)不会创建应用程序设置文件,但是如果您在应用程序的 dll/exe 文件旁边手动创建它们,配置系统会尊重它。文件名应该是<Application name>.dll.config. 请注意文件扩展名.dll.config.
您可能想查看以下类的源代码:
在撰写本答案时,Windows 窗体的应用程序设置仍然没有任何 .NET 5 的条目并重定向到 4.x 文档。
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |