app.config或TXT / INI用于保存配置选项?

时间:2013-04-27 21:55:05

标签: c# .net app-config

我正在开发一个用户应该定义输出目录的应用程序。在阅读了很多关于 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;
        }
    }

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

  • 我做错了什么?我的意思是为什么不值得保留?
  • 您使用的是app.config,config.ini还是config.txt文件?我需要就此话题发表意见

1 个答案:

答案 0 :(得分:2)

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

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