心塞,我的配置文件到底去哪了
前言
在开发上位机时,我们经常需要用到配置的相关功能,我们可以选择的方案也很多,包括ini、txt、json、xml,今天跟大家分享的另外一种方式——Settings。
步骤
1、首先,通过展开Properties,里面有个Settings.settings,双击打开,如下图所示:
如果你打开不是这种表格的形式,右击选择打开方式,选择设置设计器。
这里我添加了一个IP地址和端口号,后面会使用到,数据类型根据情况选择,范围选择用户,值可以填写也可以不填,这个是默认值的意思。
2、创建一个简单的界面,本案例主要就是实现IP地址和端口号的配置。
3、创建一个Settings对象。
private Settings DefaultSetting = Settings.Default;
4、读取配置按钮事件代码编写如下:
private void btn_Read_Click(object sender, EventArgs e)
{
this.txt_IP.Text = DefaultSetting.IP地址;
this.txt_Port.Text = DefaultSetting.端口号;
}
5、保存配置按钮事件代码编写如下:
private void btn_Save_Click(object sender, EventArgs e)
{
DefaultSetting.IP地址 = this.txt_IP.Text;
DefaultSetting.端口号 = this.txt_Port.Text;
DefaultSetting.Save();
}
6、通过以上几步,我们就实现了通过Setting实现参数配置,非常简单,也非常快速,测试功能也完全正常。
探索
如果有小伙伴用过这种方法,你会发现一个很奇怪的现象,不知道配置文件在什么地方?
我们打开debug目录下的thinger.SettingPro.exe.config文件,发现这里面存储的根本不是最新的配置值,修改这里的值,也不起作用。
那么真正的配置文件在哪里呢?
尝试使用everything搜索了一下thinger.SettingPro(这个是项目名),如果存储在其他地方的话,应用也会带项目名称吧?不然多个项目都采用Setting配置,怎么区分呢?
通过排除法,找到了一个看似不太正常的文件夹,如上图所示,打开之后,发现里面有个1.0.0.0文件夹,里面有个user.config文件,打开发现,里面存储着的正是刚刚设置的配置值:
再次修改一下,发现该文件的修改日期,随之更改,同时修改该文件里的值,读取的数据也随之改变,说明正是在对该文件进行操作。
总结
通过以上一系列测试,说明Setting方式,是将配置文件存储到本地的某个路径下,因此如果你不换电脑,使用是完全没问题的。
但是如果你的程序需要在另外一台电脑上运行,可能你打开时,配置信息就又变成原始的默认值了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-06-08 上位机开发之西门子PLC-S7通信实践