我正在开发一个用户应该定义输出目录的应用程序。在阅读了很多关于 app.config 以及 ini 之后(here表示不建议这样做,并且.NET没有任何类或命名空间来阅读它们)和 txt (有点单调乏味)我决定去app.config。所以我写了这段代码:
// Here I save to app.config file
private void button1_Click(object sender, EventArgs e)
{
if (textBox2.Text != "")
{
oConfig.AppSettings.Settings.Add("directorio_bases", textBox2.Text);
oConfig.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
textBox1.Text = ConfigurationManager.AppSettings["directorio_bases"];
}
else
{
MessageBox.Show("Debes seleccionar una ruta donde guardar las bases generadas", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
// Here I read from app.config file just for informative purpose only
private void ConfigurationUserControl_Load(object sender, EventArgs e)
{
textBox1.Text = ConfigurationManager.AppSettings["directorio_bases"];
}
// Here is where I get the path to the folder
private void button2_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
textBox2.Text = folderBrowserDialog1.SelectedPath;
}
}
代码在程序执行期间工作正常,但是当我关闭/打开程序值时会丢失。所以我的问题是:
答案 0 :(得分:2)
您是否尝试手动运行可执行文件(例如从bin文件夹中)? 如果在调试模式下运行应用程序,则不会修改app.config文件。
请查看以下链接: C# - app config doesn't change