zoukankan      html  css  js  c++  java
  • C# 修改Config文件,增删查改

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/BYH371256/article/details/90236288
    本章讲述:C# 修改Config文件的方法

    首先设置路径

    private static string configPath = string.Empty;
    private static string configName = "TestViewer.exe.config";

    public MainWindow()
    {
    InitializeComponent();
    configPath = System.Windows.Forms.Application.StartupPath + "\" + configName;
    GetConfig();
    }
    获取Configuration方法有两种:

    第一种方法:要求exe文件和Config文件在同一个目录下;

    Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(configPath );//不需要后缀名
    第二种方法:不要求exe文件和Config文件在同一目录下,该方法是制定Config文件的具体路径;

    Config文件读取

    private void GetConfig()
    {
    if(System.IO.File.Exists(configPath))
    {
    ExeConfigurationFileMap ecf = new ExeConfigurationFileMap();
    ecf.ExeConfigFilename = configPath;
    Configuration config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(ecf, ConfigurationUserLevel.None);
    var keys = config.AppSettings.Settings.AllKeys.ToList();
    if (keys == null || keys.Count == 0)
    return;

    if (keys.Contains("SoftVer"))
    {
    SoftVer = config.AppSettings.Settings["SoftVer"].Value.ToString();
    }
    }
    else
    {
    MessageBox.Show("配置文件不存在,请检查!");
    }
    }
    Config文件保存

    private void SaveConfig(string key, string value)
    {
    ExeConfigurationFileMap ecf = new ExeConfigurationFileMap();
    ecf.ExeConfigFilename = configPath;
    Configuration config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(ecf, ConfigurationUserLevel.None);
    if (config.AppSettings.Settings[key] != null)
    {
    config.AppSettings.Settings[key].Value = value;
    }
    else
    {
    config.AppSettings.Settings.Add(key, value);
    }

    config.Save(ConfigurationSaveMode.Modified);
    }
    文件保存调用代码示例

    private void Save()
    {
    if (!string.IsNullOrEmpty(SoftVer))
    SaveConfig("SoftVer", SoftVer.ToString());
    ConfigurationManager.RefreshSection("appSettings");
    }
    Config文件其他操作

    private void test()
    {
    //增加<add>元素
    config.AppSettings.Settings.Add("VersionType", "V1.5.0.8");
    //删除<add>元素
    config.AppSettings.Settings.Remove("VersionType");
    //保存
    config.Save(ConfigurationSaveMode.Modified);
    }
     
    ————————————————
    版权声明:本文为CSDN博主「Kaivin.bao」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/BYH371256/article/details/90236288

  • 相关阅读:
    美剧基本演绎法福尔莫斯的一句话
    HowToDoInJava 其它教程 1 &#183; 翻译完成
    我们关于版权保护的意见与建议
    HowToDoInJava Spring 教程·翻译完成
    【转】21世纪律师办公自动化的一个调查
    iBooker AI+财务提升星球 2020.4 热门讨论
    布客·ApacheCN 翻译校对活动进度公告 2020.5
    数据可视化的基础知识·翻译完成
    Java 高效编程(Effective Java)中文第三版(补档)
    布客&#183;ApacheCN 编程/大数据/数据科学/人工智能学习资源 2020.4
  • 原文地址:https://www.cnblogs.com/raincedar/p/11428619.html
Copyright © 2011-2022 走看看