0

我正在开发一个用户应该定义输出目录的应用程序。在阅读了很多关于app.configini的内容(这里说不推荐并且 .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;
        }
    }

并且代码在程序执行期间工作正常,但是当我关闭/打开程序值时会丢失。所以我的问题是:

  • 我做错了什么?我的意思是为什么价值观不保持?
  • 你的是否使用了 app.config、config.ini 或 config.txt 文件?我需要听取你对这个话题的意见
4

1 回答 1

2

您是否尝试手动运行可执行文件(例如从 bin 文件夹)?如果您在调试模式下运行应用程序,则不会修改 app.config 文件。

请查看以下链接: C# - app config doesn't change

于 2013-04-27T22:55:46.150 回答