C#项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目参数包括项目范围、质量、成本、时间、资源。

1. 向C#项目实例中的项目添加app.config文件:
右击C#项目实例中项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。出现在设计器视图中的app.config文件为:

<?xmlversionxmlversion="1.0"encoding="utf-8" ?>
<configuration>
</configuration>

2.  connectionStrings配置节:
请注意:如果您的SQL版本为2005 Express版,则默认安装时SQL服务器实例名为localhost\SQLExpress,须更改以下实例中“Data Source=localhost;”一句为“Data Source=localhost\SQLExpress;”,在等于号的两边不要加上空格。

<!--数据库连接串--> <connectionStrings> <clear /> <addnameaddname="conJxcBook" connectionString="Data Source=localhost;Initial Catalog=jxcbook;User ID=sa;password=********" providerName="System.Data.SqlClient" /> </connectionStrings>

3. appSettings配置节:
appSettings配置节为整个程序的配置,如果是对当前用户的配置,请使用userSettings配置节,其格式与以下配置书写要求一样。

<!--进销存管理系统初始化需要的参数--> <appSettings> <clear /> <addkeyaddkey="userName"value="" /> <addkeyaddkey="password"value="" /> <addkeyaddkey="Department"value="" /> <addkeyaddkey="returnValue"value="" /> <addkeyaddkey="pwdPattern"value="" /> <addkeyaddkey="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");
} 

C#项目实例中读取并修改App.config文件就介绍到这里。

转载于:https://www.cnblogs.com/haight/p/3494054.html

C#项目实例中读取并修改App.config文件相关推荐

  1. 读取并修改App.config文件(转载)

    1. 向项目添加app.config文件: 右击项目名称,选择"添加"→"添加新建项",在出现的"添加新项"对话框中,选择"添加应 ...

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

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

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

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

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

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

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

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

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

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

  7. 计算机普通用户禁止修改c盘,保护C盘数据win7中设置禁止修改C盘文件的方法

    我们在win7电脑的使用中一般电脑中的C盘都是安装的就是我们所说的系统盘,那对于C盘的话是最好不要保存其他的文件和安装软件的,那有小伙伴害怕电脑中的还在那更要文件被别人修改的情况,想要直接设置禁止修改 ...

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

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

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

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

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

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

最新文章

  1. 四层和七层交换技术-loadbalance
  2. LeetCode 102. Binary Tree Level Order Traversal--递归,迭代-Python,Java解法
  3. 【jFreeChart】开发流程
  4. Mac环境下配置Java开发环境(jdk+maven+tomcat+idea)
  5. HashCode和hashMap、hashTable
  6. Pro*c使用指示变量来处理NULL列值
  7. 超18万人次下载使用的 Cloud Toolkit 的成长历程
  8. mysql新浪微盘_Android62期视频教程全集下载
  9. 2017秋-软件工程第八次作业-第九周例行总结
  10. 我的世界刷铁机java版_我的世界1.14高效刷铁机
  11. 前端饿了么UI messageBox二次封装,防止重复弹窗
  12. 一台伺服驱动器可以带动多台伺服电机吗?
  13. qq互联android sdk,qq互联.Android_SDK_V2.0使用说明.doc
  14. Android Java 中英混合字符串 去掉中文之间的空格,同时保留英文单词之间的空格
  15. 医疗保险,公积金、养老、生育、工伤、失业保险
  16. 10bit视频是什么?
  17. java深度模仿支付宝订单号/交易流水号(高性能,不重复)
  18. 使用MultipartFile+ElementUi(el-upload)实现前端向后端传图片
  19. 苹果电池显示维修_安装第三方电池的iPhone也可享受苹果官方维修
  20. 机器学习实战——决策树(二)

热门文章

  1. Guava cache功能整理
  2. 运维监控三剑客之Zabbix
  3. JSP页面中taglib的uri设置
  4. Ubuntu中添加应用程序快速启动器的方法
  5. 一个java错误的总结
  6. IDEA-Maven的Dependencies中出现红色波浪线
  7. 字节实习生开发的 AI 竟然被网友用在了王冰冰身上!
  8. 数据架构总体设计方案
  9. Spring Boot 集成 WebSocket,轻松实现信息推送!
  10. 缓存踩踏:Facebook史上最严重的宕机事件分析