无法让 App.config 设置持续存在
Can't get App.config settings to persist
问题:用户在初始启动时设置的值不会保留在 App.config xml
所需功能:用户设置的值将保留存储在 App.config 中,除非用户更改
我正在努力做到这一点,以便用户第一次 运行 应用程序时,他们设置了一个文件夹,用于保存他们使用该程序制作的文件。我想将该字符串存储在 App.config 中,这样它只需设置一次。截至目前,它将设置它并将其保存在内存中,但如果程序关闭,该值将丢失。我认为调用 .save() 方法可以修复它,但没有。
打开表格时:
if (ConfigurationManager.AppSettings["SaveFilePath"] == null)
{
FolderBrowserDialog fbd1 = new FolderBrowserDialog();
fbd1.RootFolder = Environment.SpecialFolder.MyComputer;
fbd1.Description = "Select a folder to save to:";
fbd1.ShowNewFolderButton = true;
if (fbd1.ShowDialog() == DialogResult.OK)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add("SaveFilePath", fbd1.SelectedPath);
config.Save();
ConfigurationManager.RefreshSection("appSettings");
}
}
应该使用应用程序设置文件(在项目的属性页面中查看)来存储和检索用户设置。
参见 Using Settings in C#。 该页面显示的是 VS 2005,但它仍然适用于使用 VS 2017 的项目
问题:用户在初始启动时设置的值不会保留在 App.config xml
所需功能:用户设置的值将保留存储在 App.config 中,除非用户更改
我正在努力做到这一点,以便用户第一次 运行 应用程序时,他们设置了一个文件夹,用于保存他们使用该程序制作的文件。我想将该字符串存储在 App.config 中,这样它只需设置一次。截至目前,它将设置它并将其保存在内存中,但如果程序关闭,该值将丢失。我认为调用 .save() 方法可以修复它,但没有。 打开表格时:
if (ConfigurationManager.AppSettings["SaveFilePath"] == null)
{
FolderBrowserDialog fbd1 = new FolderBrowserDialog();
fbd1.RootFolder = Environment.SpecialFolder.MyComputer;
fbd1.Description = "Select a folder to save to:";
fbd1.ShowNewFolderButton = true;
if (fbd1.ShowDialog() == DialogResult.OK)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add("SaveFilePath", fbd1.SelectedPath);
config.Save();
ConfigurationManager.RefreshSection("appSettings");
}
}
应该使用应用程序设置文件(在项目的属性页面中查看)来存储和检索用户设置。
参见 Using Settings in C#。 该页面显示的是 VS 2005,但它仍然适用于使用 VS 2017 的项目