C# app.config 与 Settings.settings

本文介绍了如何在WPF和Winform项目中使用Settings.settings管理配置文件,区分User和Application级别的设置,并讨论了exe.config和appSettings/userSettings的区别。还涵盖了Settings.settings的使用、用户修改设置的方法以及发布后的配置文件设置方式。

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

绪论:
最早的时候想查找一种方法,首先实现程序的配置文件,将一些参数可以在配置文件中查看和修改,修改完的值会影响程序运行。其次实现一些参数等用户不可修改,但是开发者方便编辑查看。最后了解到app.config
与 Settings.settings。故此,在这里记录。

1、Settings.settings

不论是WPF工程还是Winform工程,在程序集中都有Properties,如下图。Properties里面有三个文件。这里介绍Settings.settings。

  • AssemblyInfo 里面就是程序集相关信息,如版本号等。

  • Reources就是资源管理,可以添加字符串和图片等。可以实现统一管理一些字符串等内容,用户不可修改,但是开发者方便编辑查看和使用。尤其是图片可以先添加进去,然后再使用,就不必出现使用绝对路径了。
    在这里插入图片描述
    在这里插入图片描述

  • Settings.settings文件中定义配置字段。把作用范围定义为:User则运行时可更改,Applicatiion则运行时不可更改。可以使用数据网格视图,很方便;

  • 在这里插入图片描述

name: 相当于变量名,
Type: 相当于变量的数据类型,
Scope有两种:1.User运行时可更改,2.Applicatiion则运行时不可更改. value 为设定值。这句话的意思是:当设置为Applicatiion的时候,在程序代码中修改该字段值无效,而不是使用程序的用户修改配置文件无效。不管是User还是Applicatiion使用程序的用户修改配置文件都是有效的。

当设置为User时:
程序读取配置的值:
text1.text =Properties.Settings.Default.FieldName;
修改配置值:
Properties.Settings.Default.FieldName = "server";
Properties.Settings.Default.Save();//使用Save方法保存更改

注意:当设置scope为User时,并且执行Properties.Settings.Default.Save();他的配置就放在 C:\Documents and Settings\LocalService\Local
Settings\Application Data\在这个目录下或子目录user.config 配置文件中。

还有一个特点:Settings.settings中的字段可以与界面上的textbox的text值绑定。

在这里插入图片描述

其实使用Settings.settings,首先在VS2019中查看字段方便,其次可以用户修改配置文件进行字段的值修改。那么程序生成发布后,用户如何设置Settings.settings中的值呢?
答案是:如下图,在xxx.exe.config中多出来一个userSettings配置项。

在这里插入图片描述
同时在程序集中,会发现如下图内容。
在这里插入图片描述

2、app.config

如法如下:
对比上述 Settings.settings,发现对于配置而言,最终都作用在exe.config中,但是里面一个是 <appSettings></appSettings>另一个是<userSettings></userSettings>

**引用头**
using System.Configuration; 
**读取**
string strPath = ConfigurationManager.AppSettings["Path"]; 
**写入**
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
cfa.AppSettings.Settings["NAME"].Value = "WANGLICHAO"; 
cfa.Save(); 
**文件**
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Path" value="D:\"/>
    <add key="NAME" value="123"/>
  </appSettings>
</configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值