1. 向项目添加app.config文件:
右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。出现在设计器视图中的app.config文件为:
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
</configuration>
在项目进行编译后,在bin\Debuge文件下,将出现两个配置文件(以本项目为例),一个名为“JxcManagement.EXE.config”,另一个名为“JxcManagement.vshost.exe.config”。第一个文件为项目实际使用的配置文件,在程序运行中所做的更改都将被保存于此;第二个文件为原代码“app.config”的同步文件,在程序运行中不会发生更改。
2.  connectionStrings配置节:
请注意:如果您的SQL版本为2005 Express版,则默认安装时SQL服务器实例名为localhost\SQLExpress,须更改以下实例中“Data Source=localhost;”一句为“Data Source=localhost\SQLExpress;”,在等于号的两边不要加上空格。
<!--数据库连接串-->
     <connectionStrings>
         <clear />
         <addname="conJxcBook"
              connectionString="Data Source=localhost;Initial Catalog=jxcbook;User                                   ID=sa;password=********"
              providerName="System.Data.SqlClient" />
     </connectionStrings>
3. appSettings配置节:
appSettings配置节为整个程序的配置,如果是对当前用户的配置,请使用userSettings配置节,其格式与以下配置书写要求一样。
<!--进销存管理系统初始化需要的参数-->
     <appSettings>
         <clear />
         <addkey="userName"value="" />
         <addkey="password"value="" />
         <addkey="Department"value="" />
         <addkey="returnValue"value="" />
         <addkey="pwdPattern"value="" />
         <addkey="userPattern"value="" />
</appSettings>
4.读取与更新app.config
对于app.config文件的读写,参照了网络文章:http://www.codeproject.com/csharp/ SystemConfiguration.asp标题为“Read/Write App.Config File with .NET 2.0”一文。
请注意:要使用以下的代码访问app.config文件,除添加引用System.Configuration外,还必须在项目添加对System.Configuration.dll的引用。
4.1 读取connectionStrings配置节
///<summary>
///依据连接串名字connectionName返回数据连接字符串
///</summary>
///<param name="connectionName"></param>
///<returns></returns>
private static string GetConnectionStringsConfig(string connectionName)
{
string connectionString =
        ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();
    Console.WriteLine(connectionString);
    return connectionString;
}
4.2 更新connectionStrings配置节
///<summary>
///更新连接字符串
///</summary>
///<param name="newName">连接字符串名称</param>
///<param name="newConString">连接字符串内容</param>
///<param name="newProviderName">数据提供程序名称</param>
private static void UpdateConnectionStringsConfig(string newName,
    string newConString,
    string newProviderName)
{
    bool isModified = false;    //记录该连接串是否已经存在
    //如果要更改的连接串已经存在
    if (ConfigurationManager.ConnectionStrings[newName] != null)
    {
        isModified = true;
    }
    //新建一个连接字符串实例
    ConnectionStringSettings mySettings =
        new ConnectionStringSettings(newName, newConString, newProviderName);
    // 打开可执行的配置文件*.exe.config
    Configuration config =
        ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    // 如果连接串已存在,首先删除它
    if (isModified)
    {
        config.ConnectionStrings.ConnectionStrings.Remove(newName);
    }
    // 将新的连接串添加到配置文件中.
    config.ConnectionStrings.ConnectionStrings.Add(mySettings);
    // 保存对配置文件所作的更改
    config.Save(ConfigurationSaveMode.Modified);
    // 强制重新载入配置文件的ConnectionStrings配置节
    ConfigurationManager.RefreshSection("ConnectionStrings");
}
4.3 读取appStrings配置节
///<summary>
///返回*.exe.config文件中appSettings配置节的value项
///</summary>
///<param name="strKey"></param>
///<returns></returns>
private static string GetAppConfig(string strKey)
{
    foreach (string key in ConfigurationManager.AppSettings)
    {
        if (key == strKey)
        {
            return ConfigurationManager.AppSettings[strKey];
        }
    }
    return null;
}
4.4 更新connectionStrings配置节
///<summary>
///在*.exe.config文件中appSettings配置节增加一对键、值对
///</summary>
///<param name="newKey"></param>
///<param name="newValue"></param>
private static void UpdateAppConfig(string newKey, string newValue)
{
    bool isModified = false;   
    foreach (string key in ConfigurationManager.AppSettings)
    {
       if(key==newKey)
        {   
            isModified = true;
        }
    }
    // Open App.Config of executable
    Configuration config =
        ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    // You need to remove the old settings object before you can replace it
    if (isModified)
    {
        config.AppSettings.Settings.Remove(newKey);
    }   
    // Add an Application Setting.
    config.AppSettings.Settings.Add(newKey,newValue);  
    // Save the changes in App.config file.
    config.Save(ConfigurationSaveMode.Modified);
    // Force a reload of a changed section.
    ConfigurationManager.RefreshSection("appSettings");
}

原文:http://blog.csdn.net/hbhecs/archive/2007/10/28/1851185.aspx

读取并修改App.config文件(转载)相关推荐

  1. (转)Windows Form Application 读取并修改App.config文件

    原文地址:http://space.itpub.net/12639172/viewspace-494054 向项目添加app.config文件: 右击项目名称,选择"添加"→&qu ...

  2. C#项目中关于多个程序集下App.config文件的问题

    在项目中我们会经常用到App.config文件,有的是自动生成的,比如引用webservice.wcf服务时生成:也有手动建立的配置文件直接默认名就为app.config. 这些配置有的保存当前程序集 ...

  3. VS2005(C#)里读取及改变App.config里appSettings节的值

    前几天做了一个C/S的项目,研究了一下App.config,写了一个读取及改变App.config里appSettings节的值的类,贴出来! using System; using System.C ...

  4. 奥塔在线:C#创建Winform项目时没有App.config文件的原因

    今天创建了一个测试的Winform项目,在进行数据库链接字符串配置时,发现没有App.config文件,一时有点懵逼. 在网上查了下资料,发现是因为创建项目时采用的.Net框架是4.0版本,而App. ...

  5. VS2010 新建C#项目中没有app.config文件,手动添加方法

    1.在解决方案资源管理器中,右键项目名称: 2.在右键菜单中选择"添加" -> "新建项",在弹出的新建项窗口列表中,选择"应用程序配置文件&q ...

  6. C#项目中没有App.config文件,手动添加方法

    在解决方案资源管理器中,右键项目名称,在右键菜单中选择"添加"-"新建项",在弹出的新建项窗口列表中,选择"添加应用程序配置文件"选项,即可 ...

  7. C#对App.config文件或者web.config文件中节点的操作类

    //============================================== //        FileName: ConfigManager //        Descrip ...

  8. WinForm 修改App.config不起作用(但是调试没有异常)

    修改Bin下的.exe.config文件,就能达到效果了. appconfig的修改,会保留在项目中,似乎不会实时地更改到.exe.config中.. 转载于:https://www.cnblogs. ...

  9. 保存web.config文件(转载)

    string appSetting = txtAppSetting.Text;//appSetting子节点值 string connectionString = txtConnectionStrin ...

最新文章

  1. 使用php操作qq第三方登录
  2. 深度探秘 从 Auto Labeler 挖掘 Tesla 全自动驾驶的工作机制
  3. 常用HLS优化指令总结
  4. [NOIP2014]飞扬的小鸟
  5. 浅谈数据结构-二叉排序树
  6. Apache Ant使用过程的总结
  7. 试述hadoop生态系统以及每个部分的具体功能_Hadoop在大数据分析中的意义和作用...
  8. 安卓应用安全指南 4.10 使用通知
  9. 重构(Refactoring)概要描述
  10. 用二次探测法建立hash表
  11. 五个脑叶的功能_人类大脑的生理构造及功能分区
  12. 清华大学计算机杨弋,[转载]专注与兴趣是成功的阶梯(访杨弋)
  13. i7 11800h参数
  14. 调用FFmpeg的视频压缩批处理脚本
  15. 分享一个做简历的网站
  16. vim跳转到函数定义处
  17. 配置Office Excel运行Python宏脚本!
  18. MyHome3D在线装修设计软件测评
  19. 赢在微点答案专区英语_英语u校园读写2答案unit3,u校园新标准大学英语视听说3单元测试答案搜题公众号...
  20. python-docx操作word文件(*.docx)

热门文章

  1. Mysql组复制故障恢复测试
  2. maven命令-P 参数
  3. MQSeries_XA_RMI XAER_RMERR (-3)
  4. RHCE6.4 rpm 安装gcc
  5. 贯穿应用开发始终的八大性能陷阱
  6. 比特币前首席开发人员:LN可能还需要18个月
  7. JML规格编程——BUAA OO第三单元作业总结
  8. module r8169
  9. Swift3 获取当前连接WIFI名称
  10. Vodafone A/B测试实践