Config 文件和 XYZ.sets 文件有什么区别?

我现在正在学习。NET 相关的东西,我正在探索如何保存应用程序。我最终编写了自己的类,将设置保存在一个 XML 文件中,然后我发现。NET 本身支持保存应用程序设置。

但我找到了两种方法。当我在 VisualStudio2008中打开“添加新项”对话框时,它提供了创建“设置”文件(。设置)或配置文件(。配置)。两者之间的区别是什么? 在什么情况下应该使用它们?

11239 次浏览

更新: 在 ASP.NET 核心区域中,配置不再通过以下任何一种方式进行管理-看看这个奇妙的文字从特拉维斯伊利格与 a-z 对 ABC0和 Microsoft.Extensions.Configuration.Binder,这是有效的一个超集的所有这一切


设置(同时来自一个。设置集和 Configuration.AppSettings)存储在. config 文件中[与许多其他东西一起]。

区别在于。设置的东西[添加在。NET 2.0/VS2005]在一组属于一起的设置之上分层一个强类型类,而 Configuration.AppSettings只是让你检索字符串,强迫你做任何转换,并且没有默认值的概念。(Configuration 类实际上已经分流到一个侧程序集中以反映这一点-您需要添加对 System 的引用。如果需要,可以显式地进行配置)。

添加。如果您还没有设置,那么项目中的设置将导致添加一个 app.config 来容纳这些设置。每次更改组件/应用程序的设置列表时,都会自动生成读取设置的类。

其他特征。设置是将一些设置指定为用户特定的功能(还可以通过单个调用保存用户特定的设置)。

最好的使用理由。设置通常是指通过遵循属性的用法(每个设置是 XML 文件中的一个单独块) ,可以清楚地识别谁在使用代码库中的哪个设置。Configuration.appSettings在本质上更具全局性——它只是一包属性,你不知道哪个 DLL、子系统或类依赖于特定的设置条目。更多信息请参见 这篇来自史蒂文 · 史密斯的博客文章

最后,如果你仍然没有阅读足够的设置管理,你不会击败 里克 · 斯特拉尔在这个问题上的帖子的完整性或纯粹的想法和角度的数量。

旁白: 也有 NET vNext 配置的东西,在本文中概述是相当灵活的,并提供了一个不同的角度配置设置管理。

设置文件是指定不同设置及其默认值的资源文件。

这些值本身在应用程序配置文件(. config 文件)中配置。

永远不会部署设置文件,因此需要配置文件来进行配置。

Config 文件存储在与应用程序相同的目录中。普通用户没有写权限(例如,在“程序文件”中)。

设置文件应该存储在用户“ AppData”目录中(他在该目录中具有 r/w 权限)。

因此,请使用用户可配置选项的设置文件。