C#项目中如何读取并修改App.config文件

本文简单介绍C#项目中读取并修改App.config文件的方法,AppConfig最重要的功能就是它将命令行选项和配置文件选项统一到一种数据结构中。

1. 向C#项目实例中的项目添加app.config文件:

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

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

在项目进行编译后,在binDebuge文件下,将出现两个配置文件(以本项目为例),一个名为“***.EXE.config”,另一个名为“***.vshost.exe.config”。第一个文件为项目实际使用的配置文件,在程序运行中所做的更改都将被保存于此;第二个文件为原代码“app.config”的同步文件,在程序运行中不会发生更改.

2.  SQL 2005 ExpressconnectionStrings配置:

注意:等于号的两边不要加上空格。

<connectionStrings>
         <addnameaddname="***Name"
              connectionString="Data Source=localhost;Initial Catalog=jxcbook;User ID=sa;password=********"
              providerName="System.Data.SqlClient"  />
</connectionStrings>

3. appSettings/userSetting 配置节:

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

<appSettings>
         <clear  />
         <addkeyaddkeyaddkeyaddkey="userName"value=""  />
         <addkeyaddkeyaddkeyaddkey="password"value=""  />
</appSettings>

4.读取与更新app.config

注意:要使用以下的代码访问app.config文件,除添加引用System.Configuration外,还必须在项目添加对System.Configuration.dll的引用。

(1) 读取connectionStrings配置节

///<summary>
///依据连接串名字connectionName返回数据连接字符串
///</summary>
///<param name="connectionName"></param>
///<returns></returns>
private static string GetConnectionStringsConfig(string connectionName)
{
        string connectionString =
        ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();      

        return connectionString;
}

(2) 更新connectionStrings配置节

///<summary>
///更新连接字符串
///</summary>
///<param name="newName">连接字符串名称</param>
///<param name="newConString">连接字符串内容</param>
///查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/csharp/
///<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");
}

(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) 更新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://www.bianceng.cnhttp://www.bianceng.cn/Programming/csharp/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, 文件
, 配置
, app.config文件
, config
, app config
, configurationmanager
, config 配置文件
,  app.config
, 读取config文件
, connectionStrings
, 操作app.config
, app.config
获取app.config
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-12-03 01:07:27

C#项目中如何读取并修改App.config文件的相关文章

app.config文件-App.config读取文件失败问题

问题描述 App.config读取文件失败问题 直接上图吧 读取失败问题 App.config配置文件 读取代码 读取失败了 解决方案 又没人有人瞅 见啊, 大大神呢 解决方案二: 读取并修改App.config文件读取并修改App.config文件(转载)读取并修改App.config文件(转载) 解决方案三: 没人看见吗,我顶,顶,顶,顶 解决方案四: 已经解决了,应该写在UI层的,

怎么写入app.config文件

问题描述 如题,怎么实现程序第一次运行的时候写入app.config文件,之后运行的时候就不用去修改app.config文件了 解决方案 解决方案二:标题和问题不符你到底是不会写入文件,还是不会判断是否第一次启动?不会写入文件,那么搜一搜C#操作config文件不会判断第一次启动,你程序启动先读取文件啊,看里面如果缺少参数,就写入,参数齐全了,就不写入呗解决方案三:config也是xml文件,使用linqtoxml处理它.可以有一个标示,第一次写入让标示为true,第二次判断是否为true是tr

修改App.config中的数据库连接 ,才能运行,怎么修改?

问题描述 修改App.config中的数据库连接 ,才能运行,怎么修改? 我下了一个C#系统源码,点Debug中的exe运行不了,需要修改App.config中的数据库连接 ,请问要怎么修改? <?xml version="1.0" encoding="utf-8" ?> value="Data Source= .sql2005;Initial;Initial Catalog=DATA;User ID=sa;Password=sasasa&qu

spring mvc-SpringMVC web项目中如何引入js,css等文件

问题描述 SpringMVC web项目中如何引入js,css等文件 在springmvc的web项目中,如何在html文件中引入本地的jscss等文件,试了很多种方法,发现路经都不对,都报404 Notfound的错.项目的目录结构:同时在springmvc-servlet.xml中添加了配置:在index.html中如此引用js: 然后每次都说找不到这个js文件. 解决方案 web项目js css静态文件缓存解决引入外部css ,js文件 解决方案二: 貌似要放在WebRoot底下新建一个文

方法-关于修改App.Config的问题

问题描述 关于修改App.Config的问题 我在项目中添加了一个App.Config文件,现在想修改文件中某个节点的值,但是我使用这个方法 Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); cfa.AppSettings.Settings.Remove(nodeName); cfa.AppSettings.Settings.Add(nodeName, value

WinForm修改App.config配置文件功能

WinForm修改App.config配置文件主要是通过System.Configuration.dll里ConfigurationManager类来实现,在功能开发前是需要手动引用该dll文件. ConfigurationManager 类包括可用来执行以下任务的成员: •从配置文件中读取一个节.若要访问配置信息,请调用 GetSection 方法.对于某些节,例如 appSettings 和 connectionStrings,请使用 AppSettings 和 ConnectionStri

WinForm中的App.config文件?

问题描述 App.config文件是系统默认的文件名,我想修改该文件名,可修改后会出现程序会抛出异常,该如何修改和设置? 解决方案 解决方案二:为什么要修改这个文件名啊,那就写读取配置文件的代码吧解决方案三:程序中若有两个或两个以上的配置文件,ConfigurationManager类如何区分读取的是哪个配置文件.解决方案四:晕!app.config只是开发时的名字,解决方案编译之后生成的名字是"你的启动工程名.config"文件,根本没有什么app.config名称的文件!解决方案五

修改APP.CONFIG

问题描述 WINFORM程序中添加了APP.CONFIG文件<?xmlversion="1.0"encoding="utf-8"?><configuration><appSettings><!--存放路径--><addkey="StoragePath"value=""/></appSettings></configuration>我用程序修改A

.net 动态修改App.Config 和web.Config 方法

首先假设你的应用程序配置文件如下: <?xml version="1.0" encoding="utf-8" ?> <configuration>  <appSettings>     <add key="name" value="old"/>  </appSettings> </configuration>     Ok,那么如何在运行时去修改name的