c#-建议在.NET Core中使用app.config和ConfigurationManager吗?
作者:互联网
我们正在将某些.NET应用程序从完整框架迁移到.NET核心,并且我们正在尝试找到实现此目的的最佳方法.
主要更改之一是与应用程序配置方式相关的更改.在.NET完整框架中,我们通常将应用程序设置放入app.config文件中,并通过ConfigurationManager class进行读取.
我知道.NET Core支持基于nuget包Microsoft.Extensions.Configuration和配置源的各种打包的新配置系统.但是,与此同时,Microsoft通过nuget包System.Configuration.ConfigurationManager将对ConfigurationManager类的支持扩展到了.NET core.
这是我的问题:
>配置.NET核心应用程序的最佳意图是什么?
>仅出于向后兼容的目的实现了对app.config文件的支持,因此,更易于向旧版应用程序的.NET核心进行移植,或者它被认为是最佳实践,并且将来会得到维护?
解决方法:
有一段历史,Asp.Net团队是开始缩小.Net应用程序中包含的依赖关系的原始团队.与更多的模块化框架相比,Microsoft的Web框架ated肿,导致请求延迟.斯科特·汉斯勒曼(Scott Hansleman)经常在演讲中讲这个笑话:
Who here develops with .Net? Nobody under thirty, fantastic! So how do
we combat this? Become modular, faster, cross platform, and easier to
get started. Otherwise you would go, I want to learn to code.
Download Visual Studio then four hours later write hello world.
因此,网络团队开始了这一转变,这使网络上的JavaScript对象表示法比扩展标记语言更好.但是,在Asp.Net团队进行这些修改的一年之内,Microsoft将其组织重组为一个.Net.他们意识到,这些更改不仅会涉及Asp.Net团队,而且还会涉及更多.较早的项目类型将不兼容或无法与JavaScript Object Notation一起使用,因此它们的.csproj和其他配置类型已转换回Extended Markup.但是许多开发人员确实很喜欢JavaScript Object Notation文件作为设置,它们更小,更清晰并且不那么冗长.因此,Microsoft通过Microsoft.Extensions.Configuration重新添加了该功能,以提供灵活性.
>主要目的是为了向后兼容.
>确保也对任何.Net Standard应用程序进行了更新.
因此,您都可以利用.除了扩展标记之外,与JavaScript对象相比,读取和冗长的代码往往没有什么真正的好处. JavaScript对象表示法往往更容易.
标签:net-core,configuration-files,app-config,c 来源: https://codeday.me/bug/20191024/1923390.html