我们正在将某些.NET应用程序从完整框架迁移到.NET核心,并且我们正在尝试找到实现此目的的最佳方法。
主要更改之一是与应用程序配置方式相关的更改。在.NET完整框架中,我们通常将应用程序设置放入app.config文件中,并通过ConfigurationManager类读取它们。
我知道.NET Core支持基于nuget包Microsoft.Extensions.Configuration和配置源的各种打包的新配置系统。但是,与此同时,Microsoft通过nuget包System.Configuration.ConfigurationManager将对ConfigurationManager类的支持扩展到了.NET core 。
这是我的问题:
有一段历史,Asp.Net团队是开始缩小.Net应用程序中包含的依赖关系的原始团队。与更多的模块化框架相比,Microsoft的Web框架肿,导致请求延迟。斯科特·汉斯勒曼(Scott Hansleman)经常在演讲中讲这个笑话:
谁在用.Net开发?不到三十岁的人,太棒了!那么我们如何应对呢?成为模块化,更快,跨平台且更容易上手。否则你会去的,我想学习编码。下载Visual Studio,然后在四个小时后编写hello world。
因此,网络团队开始了这一转变,这使网络上的JavaScript对象表示法比扩展标记语言更好。但是在Asp.Net团队进行这些修改的一年之内,Microsoft将其组织结构重组为一个.Net。他们意识到,这些更改不仅会涉及Asp.Net团队,而且还会涉及更多级。较早的项目类型将不兼容或无法与JavaScript Object Notation一起使用,因此它们的.csproj和其他配置类型已转换回Extended Markup。但是许多开发人员确实很喜欢JavaScript Object Notation文件作为设置,它们更小,更清晰并且不那么冗长。因此,Microsoft重新添加了该功能,Microsoft.Extensions.Configuration
以提供灵活性。
因此,您都可以利用。除了扩展标记之外,与JavaScript对象相比,阅读和冗长的代码往往没有什么真正的好处。JavaScript对象表示法往往更容易。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句