app.config 文件和 XYZ.settings 文件有什么区别?

2023-12-09

我实际上正处于 .NET 相关内容的学习阶段,我正在探索如何保存应用程序。我最终编写了自己的类,它将设置保存在 XML 文件中,然后我发现 .NET 本身支持保存应用程序设置。

但我找到了两种方法可以做到这一点。当我在 Visual Studio 2008 中打开添加新项目对话框时,它提供了创建设置文件 (.settings) 或配置文件 (.config) 的选项。两者有什么区别以及在什么场景下使用?


更新:在 ASP.NET Core Land 中,配置不再通过以下任一方式进行管理 -请参阅 Travis Illig 的精彩文章,其中 a-z 已打开Microsoft.Extension.Configuration and Microsoft.Extensions.Configuration.Binder它们实际上是所有这些的超集


设置(来自 .settings 集和Configuration.AppSettings),存储在 .config 文件中[与许多其他内容一起]。

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

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

.Settings 的其他功能是能够将某些设置指定为特定于用户的设置(并且还可以通过一次调用保存特定于用户的设置)。

使用 .Settings 的最佳原因通常是,您可以通过跟踪属性的用法(每个集合都是 XML 文件中的单独块)来清楚地识别谁在代码库中使用哪个设置。Configuration.appSettings本质上更加全局化 - 它只是一组属性,您不知道哪个 DLL、子系统或类依赖于特定的设置条目。看史蒂文·史密斯的这篇博文更多。

最后,如果您仍然没有充分了解设置管理,那么您将无法击败里克·斯特拉尔(Rick Strahl)关于这个主题的帖子为了完整性或绝对数量的想法和角度。

旁白:还有ASP.NET vNext 配置 stuff, 本文概述它非常灵活,并提供了配置设置管理的不同角度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

app.config 文件和 XYZ.settings 文件有什么区别? 的相关文章

  • WCF 中的 Web 服务发现:Ws-Discovery 还是 UDDI?

    我知道 UDDI 和 Ws Discovery 熟知搜索服务与广播的位置 之间的区别 但我的问题是 在 WCF 中发现 Web 服务的最简单方法是什么 最简单的意思是 WCF 中已经实现了哪些内容并且现在可以使用 我还没有在 WCF 中看到
  • 向父进程发出信号,表明子进程已完全初始化

    我正在启动一个公开 WCF 端点的子进程 如何从子进程向父进程发出信号 表明子进程已完全初始化并且现在可以访问端点 我曾考虑过使用信号量来实现此目的 但不太清楚如何实现所需的信号 string pipeUri net pipe localh
  • 在 ControlTemplate.Triggers 中使用 TemplateBinding

    为什么下面的 XAML 会给我一个 XamlParseException 并显示 无意义的 消息 表达式类型不是有效的样式值 在运行时
  • 在 Windows 上使用的 Subversion Server

    哪种 Subversion SVN Server 会建议新手开始使用 Windows Server 操作系统 我想我将在客户端上使用 TortoiseSVN 并且主要进行 NET 开发 UPDATE 很好的建议 我根据投票选择我的答案 我会
  • 从 SQL XML 列中的元素获取属性名称

    对于此 xml 在 SQL 2005 XML 列中
  • 在wince上用c#静默运行命令行程序

    我再次需要一些帮助 我使用 net Compact Framework 和编程语言 C 来为运行 WinCE 5 0 的移动设备进行开发 我想要完成的是以编程方式安装网络驱动器 为此 应用程序在后台线程中运行以下代码 ProcessStar
  • 在 LINQ 查询中进行转换

    是否可以在 LINQ 查询中进行强制转换 为了编译器的缘故 下面的代码并不糟糕 但最好将其放入一个查询中 Content content dataStore RootControl as Controls Content List
  • SOAP Web 服务:多台服务器,一个接口

    我有一个场景 需要任意数量的服务器来提供相同的 SOAP Web 服务 我想生成一组代理类 并能够为它们提供一个位置 以便在运行时将它们指向不同的服务器 不幸的是 看起来好像wsdl port节点 子节点wsdl service 要求对特定
  • 托管 ODP.NET 驱动程序未显示在“数据源”对话框中

    在我的计算机上安装托管 ODP NET 后 ODP NET 托管驱动程序没有出现在里面选择数据源Visual Studio 2013 Professional 中的对话框 它应该是这样的 这就是它在我的机器上的实际外观 我已按照 轻松驱动
  • C# 可以为控制台应用程序部分类“程序”类吗?

    我想知道是否可以将为任何控制台应用程序创建的默认 程序 类更改为部分类 我想这样做是因为我想要更好的组织 而不是将所有方法都放在按区域分类的 1 个文件中 对我来说 将某些方法类别放在单独的文件中会更有意义 我对分部类的理解是 它是多个文件
  • 如何从 401 服务器错误获取标头

    我正在编写一个端口扫描器来检测本地网络上运行的 Web 服务 其中一些 Web 服务需要基本身份验证 我不知道这些服务的用户名 密码 我只想列出它们 因此现阶段无法提供凭据 我正在使用代码 var request HttpWebReques
  • 有没有办法根据值是大于 0.5 还是小于 0.5 来进行下限/上限?

    我正在尝试舍入我的价值观 以便如果它是0 5或更大 则变为1 否则就变成0 例如 3 7 gt 4 1 3 gt 1 2 5 gt 3 有任何想法吗 Math Round 3 7 MidpointRounding AwayFromZero
  • 如何检查DLL文件是否已注册?

    如何以编程方式查找用 C 编写的 DLL 文件是否已注册 我已经尝试过这段代码 但它没有成功 如果我注册一个 DLL 文件并使用此代码进行检查 它将返回 如果我取消注册它并运行同一段代码 它会再次返回 true 我将 DLL 文件的完整路径
  • 如何向程序集添加上下文帮助

    我创建了一个 NET C 组件 将作为开发人员工具出售 我的问题是 如何将我自己的自定义上下文帮助添加到方法和属性中 因此 当我在某个方法上按 F1 时 我希望它转到特定的网页 这可能吗 使用 Visual Studio SDK 和帮助集成
  • 拆分容器,制作固定面板

    我有一个水平方向的 splitcontainer 我希望仅在表单调整大小期间为 panel2 设置固定高度 并让 splitter 调整 panel2 大小 现在我正在这样做 但我不满意 因为用户注意到面板调整了大小 Private Sub
  • 如何将 POST 请求内容保存为 .NET 中的文件 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个客户端应用程序POST请求a
  • 您将如何在 F# 中解决这个问题? (高频传感器数据)

    我是一名机械工程研究生 我的导师刚刚要求我为我们的一个传感器项目编写一个数据可视化实用程序 由于现在是夏天 他希望我能从中获得一些乐趣 我认为这将是学习一门擅长科学计算的语言的好时机 所以我直接开始学习 F 由于我是函数式编程范例的新手 因
  • C# WCF Web Api 4 MaxReceivedMessageSize

    我正在使用 WCF Web Api 4 0 框架 并且遇到 maxReceivedMessageSize 已超过 65 000 错误 我已经将我的 webconfig 更新为如下所示 但因为我正在使用 WCF Web Api 我认为这甚至不
  • .NET ListView列顺序问题

    我在表单中遇到问题 我已按以下顺序将列添加到 NET ListView 控件 A B C D A D 列的显示索引按顺序为 0 3 但它们的显示顺序错误 A B D C these are switched at runtime 注意 一切
  • 设置外部应用程序焦点

    在 VB NET 中 您可以使用以下命令将焦点设置到外部应用程序 AppActivate Windows Name or AppActivate processID As Integer 现在 如果您这样做 则效果很好 Dim intNot

随机推荐

  • MIPS 中括号的作用是什么?

    我一直在阅读一本介绍 MIPS 的项目书 但遇到了一个问题 书中的一行代码是lb t3 t2 我不知道括号的作用 因为在此之前 我还没有看到它们被使用过 而且本书一开始就没有提到它们 为什么代码不只是lb t3 t2 MIPS 寻址模式语法
  • Scala 中的动态 mixin - 可能吗?

    我想要实现的是正确实施 def dynamix A B a A A with B 我可能知道 B 是什么 但不知道 A 是什么 但如果 B 有 self 类型 那么我可以对 A 添加一些约束 scala 编译器对上述签名很满意 但我还无法弄
  • 如何在 linq 中获取随机行,最后插入的行位于顶部

    我试图针对每个请求显示随机产品 this OrderBy r gt Guid NewGuid 工作正常 但我试图在表记录很大时提高性能 所以我使用了第二个选项here 我的行动 public ActionResult ProductType
  • ES6 和 Promise 内的变量作用域

    不知道我在这里缺少什么 我需要得到的输出data into this contact 现在 我正在使用静态类变量 但必须这样做似乎很脏 export class contactEdit static t static class var c
  • 如何使用多处理在 for 循环中并行化对同一函数(具有不同参数)的两次调用?

    在 for 循环中 我使用不同的参数集调用一个函数两次 argSet1 argSet2 在 for 循环的每次迭代中都会发生变化 我想并行化此操作 因为一组参数会导致被调用的函数运行得更快 而另一组参数会导致函数运行缓慢 请注意 我do n
  • 您查找段错误原因的方法是什么?

    或者只是一般性地调试 您喜欢如何查找代码中的错误 专门针对 C C 但适用于所有语言 我一直在试图找到这个令人讨厌的段错误的原因 但我希望自己能找到它 而不是将其发布到网上 您对像我这样的学徒有什么建议吗 使用 gdb 等调试器并在出现 s
  • 在 Adapter 的构造函数中传递 Fragment

    由于 onClick 事件永远不会在ViewPager see 这个问题 我要设置onClickListener到适配器中的项目容器 这个想法是 当单击一个项目时 从适配器调用 Fragment 中的方法 其中该适配器设置为ViewPage
  • wpf mvvm混淆

    根据我对 mvvm 的理解是 有一个模型 也实现inotify的实体类 视图 xaml代码 和一些类如vm 通常继承icommand的控制器 让我们在特定事件上生成事件 命令 我只是想知道 viewmodel 类和 xaml 类背后的代码之
  • 正则表达式 - PCRE (PHP) - 单词边界 (\b) 和重音字符

    为什么这封信 算作单词边界匹配 b在下面的例子中 图案 b cum b i Text cum 匹配不需要的 cum 有可能克服这个吗 当您添加u正则表达式的修饰符 b cum b iu
  • 在 weblogic 上访问 Mbean

    来自 oracle 的文档 域运行时 MBean 服务器 此 MBean 服务器也充当单个 驻留在托管服务器上的 MBean 的访问点 我想要做的是利用这个事实来访问分散在多个托管服务器中的所有自定义 mBean 例如假设我有两个节点 se
  • Roslyn – 自定义构建错误扩展

    目前是否有一种方法可以扩展 Roslyn 编译并添加一些自定义规则集 这些规则集会破坏构建并显示在 VisualStudio 的错误列表中 我搜索 StackOverflow 但没有有效的答案 也许最近在这个主题中出现了一些东西 或者也许有
  • 与 Mongo 聚合的运算符 $arrayElemAt < 3.2

    使用聚合蒙戈框架 我怎样才能达到相同的结果蒙戈 as in 蒙戈3 2随着操作 arrayElemAt Mongo 3 2 中的示例 收藏 id 1 name dave123 favorites chocolate cake butter
  • 使 JFormattedTextField 接受 3 位以上的小数

    我有一个JFormattedTextField它应该能够接受超过 3 位小数的双数 它接受条目0 1 0 01 0 001但拒绝0 0001以及具有更多小数位的数字 这就是我的代码现在的工作方式 DecimalFormat decimalF
  • 使用 confint() 估计 GLMM CI 时出错

    我有一组装有二元响应变量和一组连续变量的 GLMM 我想获得每个模型的置信区间 我一直在使用confint 功能 在 95 并且与profile方法 如果将其应用于没有交互的模型 那么它的工作不会出现任何问题 然而 当我申请时confint
  • 用模板专门化一个模板

    我有一个 免费 函数模板 如下所示 template
  • 确认值未从甜蜜警报服务返回

    已经创建了甜蜜的警报作为单独的服务 我将其注入到我的服务中 这就是贴心的提醒服务 function use strict angular module app services factory SweetAlert SweetAlertSe
  • 在 PyCharm 中添加代码模板 - 可能吗?

    我想向 PyCharm 添加新的代码模板 片段 例如我想扩展lw to log write Line here is sould be cursor after code completition from snippet 就像是https
  • R Xgboost:如何在 Windows 10 上编译具有 GPU 支持的 xgboost

    我按照此链接中提供的说明进行操作 如何在python windows平台 中安装xgboost包 and https xgboost readthedocs io en latest build html installing r pack
  • 单击锚点应该执行 javascript 而不是转到新页面

    我有一个 HTML 锚点 单击该锚点会使 div 向上或向下滑动 我称之为 JQuery 的 slideToggle 功能 我的问题 当我单击该链接时 它不会执行代码 而是会转到一个新页面 其中 url 是 javascript 代码 在我
  • app.config 文件和 XYZ.settings 文件有什么区别?

    我实际上正处于 NET 相关内容的学习阶段 我正在探索如何保存应用程序 我最终编写了自己的类 它将设置保存在 XML 文件中 然后我发现 NET 本身支持保存应用程序设置 但我找到了两种方法可以做到这一点 当我在 Visual Studio