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

  • 相关阅读:
    Tips_of_JS 之 利用JS实现水仙花数的寻找与实现斐波那契数列
    我的天!居然可以这么“弹”!—— 弹性盒布局属性详述
    震惊,正儿八经的网页居然在手机上这样显示!
    这是假的JS——利用CSS Animation实现banner图非交互循环播放
    小K的H5之旅-HTML5与CSS3部分新属性浅见
    CSS小技巧-煎蛋的画法~
    小K的H5之旅-实战篇(一)
    SSM+Redis简介
    Hadoop HA(高可用搭建)
    hadoop完全分布式搭建(非高可用)
  • 原文地址:https://www.cnblogs.com/raincedar/p/11428619.html
Copyright © 2011-2022 走看看