.net core 2.0学习笔记(五):程序配置&ConfigurationManager
配置组件是.net framework中非常常用的功能。在创建.net framework 工程时,系统不仅会自动生成app.config文件,而且还提供了非常强大的访问类库。但是这些好东西,在.net core 2.0中已经不复存在,至少说没有.net framework 中那么完美了。
在升级.net framework 程序到.net core 2.0时,如果通过.NET Portability Analyzer分析代码,会发现下面的提示,.net core:supported 2.0+,.net standard:not supported.虽然.net 2.0暂时不支持,但是微软提供的扩展类库是支持的,需要自己找Microsoft.Extention类库去。
好吧。既然Core 2.0中没有COnfigurationManager,我们就简单封装一个吧。首先,创建一个.net core 2.0 的类库工程.
然后打开nuget包管理。输入:Microsoft.Extensions.Configuration.Json,然后安装即可。
在刚才新建的工程中新增类:ConfigurationManager,命名空间可以自定义了。然后,加入下面代码。
public class ConfigurationManager
{
private static IConfigurationRoot config = null;
static ConfigurationManager()
{
// Microsoft.Extensions.Configuration扩展包提供的
var builder = new ConfigurationBuilder()
.AddJsonFile("app.json");
config = builder.Build();
}public static IConfigurationRoot AppSettings
{
get
{
return config;
}
}public static string Get(string key)
{
return config[key];
}}
新建一个.net core 管理控制台程序,并新增加文件:app.config。文件内容为:
{
"Name": "my-other-value"
}
在管理控制台程序的Main函数中,编写下面代码,同时添加对类库工程的引用。配置问题比较顺利的搞定!
static void Main(string[] args)
{
Console.WriteLine(ConfigurationManager.AppSettings["Name"]);
Console.ReadLine();
}
OK,通过上面努力,终于解决了配置的问题了。但是,有更简单的方法。直接在nuget管理中搜索:System.Configuration.ConfigurationManager,添加引用后,问题解决。郁闷,微软提供了这些类库,不知道为什么不放到公共的类库中呢?害的我大费周折。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?