app.config保存设置的时候 怎么不变

参照的这个,C# 配置文件App.config的使用操作 C# 配置文件App.config的使用操作_起个名字好难啊-CSDN博客_app.config 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。配置文件的根节点是configuration。我们经常访问的是appSettings,它是由.Net预定义配置节。我们经常使用的配置文件的架构是象下面的形式。先大概有个印象,通过后面的实例会有一个比较清楚的认识。下面的“配置节”可以理解为 https://blog.csdn.net/e295166319/article/details/77839798?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163056587316780357236500%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163056587316780357236500&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-77839798.first_rank_v2_pc_rank_v29&utm_term=c%23app.config&spm=1018.2226.3001.4187

img

你用的哪个办法?xml的方式还是System.Configuration?System.Configuration文章说了改不了。而且注意改的app.config的话,需要重新编译过才会更新debug目录下的相关config文件,app.config是不拷贝到编译后的debug目录下的,除非人工拷贝。题主是不是理解成修改app.config后,自动修改debug目录下的配置文件了?

最好发你的代码来看下~,下面代码测试可以正常修改app.config,有帮助麻烦点个采纳【本回答右上角】,谢谢~~


using System;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Linq;
using System.Xml.Linq;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var config = @"F:\CSharp\WindowsForms\WindowsFormsApp1\app.config";
            XDocument doc = XDocument.Load(config);
            var keys = new[] { "TempValue", "WetValue" };
            var nodes = doc.Descendants().Where(i =>i.Name.LocalName=="add"&& keys.Contains(i.Attribute("key").Value)).ToList();
            nodes[0].Attribute("value").Value = textBox1.Text;
            nodes[1].Attribute("value").Value = textBox2.Text;

            MessageBox.Show(doc.ToString());
            doc.Save(config);
        }
    }
}


一般配置文件不生效的时候记得重新编译一下在运行(不是F5启动),然后才重新运行就可以了