我经常看到这样的问题的答案:“我应该如何在我的 .NET 应用程序中存储设置?” 是通过手动将条目添加到 app.config(或 web.config)来编辑 app.config 文件,如下所示:
<configuration>
<appSettings>
**<add key="ConfigValueName" value="ABC"/>**
</appSettings>
</configuration>
然后,像这样访问它们:
string configValue = Configuration.AppSettings["ConfigValueName"];
我将上述方法称为“app.config”方法。我很少看到人们建议在项目中添加“设置”文件。我在网上和 stackoverflow 上看到过很多次......我开始怀疑我是否遗漏了什么......因为我不确定你为什么要使用这种方法而不是使用“设置” “ 文件。我直到 VS2005 才进入 .NET,所以我的一个理论是这就是 VS2003 中的事情是如何完成的,人们从未切换过?
人们推荐 app.config 方法的示例:
从我的角度来看,“设置文件”方法有以下优点:
- 可用于应用程序设置(所有用户通用的设置)和来自同一界面的用户设置。
- 能够在 Visual Studio 中使用设置设计器支持。恕我直言,直接编辑 XML 文件更不容易出错。
- 重构 - 您可以重命名特定设置名称,它会自动更新代码中的引用。
- 编译类型检查。
- 自动完成支持。
- 属性网格功能。我发现 PropertyGrid 控件是制作快速选项表单的一种非常简单的方法。你只是做
propertyGrid1.SelectedObject = Settings1.Default;
了,你就完成了。
如果您不确定我所说的“设置”文件方法是什么意思,请参阅这篇文章,这是有人建议使用设置文件而不是 app.confg 的少数示例之一。
编辑:请理解:本主题的目的是弄清楚为什么人们会使用上面概述的 app.config 方法而不是设置文件方法。我遇到了设置文件方法的限制,有时不得不推出自己的自定义解决方案。那是完全不同的讨论。