C# 读写config配置文件

本文详细介绍了C#项目中的默认配置文件App.config、编译后生成的*.exe.config和*.vshost.exe.config的区别与操作方法,包括如何使用System.Configuration库进行配置文件的读写以及通过Application.StartupPath定位配置文件路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、项目默认配置文件

1、app.config

在创建C#项目时,visual studio会默认在项目路径创建一个名为 App.config 的程序集配置文件,其为开发时配置参数的文件,默认记录一些配置信息,当前 .NETFramework 的版本等。
在这里插入图片描述
在这里插入图片描述

2、*.exe.config

在项目编译后,会在根目录(相应 debug 或者 release 文件夹内)生成一个名为 ” 程序名称 .exe.config “ 的配置文件。当 app.config 文件有修改时,会重新复制 app.config 文件内容到 *.exe.config 和 *.vshost.exe.config 文件中,覆盖原始内容。
*.exe.config 文件为程序实际运行时实际操作的配置文件,在程序实际运行时无论怎么更改该配置文件,下一次运行时, *.exe.config 文件都会重新复制 app.config 文件,故该配置文件更改仅用于临时配置信息更改。
在这里插入图片描述

3、*.vshost.exe.config

在项目编译后,会在根目录(相应 debug 或者 release 文件夹内)生成一个名为 ” 程序名称.vshost.exe.config “ 的配置文件。
*.vshost.exe.config 文件为项目调试运行时实际操作的配置文件,在项目调试期间无论怎么更改该配置文件,在下一次运行时, *.vshost.exe.config 文件都会重新复制 app.config 文件,故该配置文件更改仅用于临时配置信息更改。
在这里插入图片描述

二、读写配置文件

1、添加 System.Configuration 程序集文件

系统程序集文件中有能操作 Config 文件的 API库文件,在项目 “引用” 上右键,点击“添加引用” ,打开“引用管理器”窗口。
在这里插入图片描述
在程序集中找到 System.Configuration ,选中后点击确定。将 System.Configuration 文件添加到项目引用中。
在这里插入图片描述

2、Config读取操作类函数

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FileOperationsDemo
{
   
    public static class ReadWriteConfig
    {
   
        #region 在系统配置文件中 读/写配置相关函数
        /// <summary>
        /// 从 *.exe.config 或 *.vshost.exe.config 文件中读取数据,返回字符串
        /// </summary>
        /// <param name="Setting_name"></param>
        /// <returns></returns>
        public static String Read_appSetting(String Setting_name)
        {
   
            String str = "";
            //获取Configuration对象
            Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            //根据Key读取<add>元素的Value
            str = config.AppSettings.Settings[Setting_name].Value;

            return str;
        }
        /// <summary>
        /// 从 *.exe.config 或 *.vshost.exe.config 文件中读取数据,处理后返回List列表
        /// </summary>
        /// <param name="Setting_name"></param>
        /// <returns></returns>
        public static List<String> Read_appSetting_List(String Setting_name)
        {
   
            String str = "";
            //获取Configuration对象
            Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            //根据Key读取<add>元素的Value
            str = config.AppSettings.Settings[Setting_name].Value;

            string[] tmp = str.Split(',');
            List<string> ret_list = new List<string>();

            ret_list.Clear();
            for (Int32 i = 0; i < tmp.Length
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值