在net6框架中winform应用程序没有了appconfig文件,如果我们想存储一些配置字符串我们就需要创建一个json文件,然后去读取这个文件。具体怎么操作呢,下面一起学习一下

首先在项目中新增一个json文件

在net6的框架中没有了appconfig配置文件我们需要新增一个json文件。
项目右键——添加——新建项——web——选择json文件

新增之后需要在单击文件在属性的复制到输出目录选择始终复制,不然在读取时会读不到这个文件


我们在文件中添加一些配置字符串

{"ConnectionStrings": {"Default": "依赖注入获取方式1"},"url": {"url1": "依赖注入获取方式2"},"qwe": {"aaaa": "普通方式获取"}
}

读取

读取时我们可以写一个通用的读取方法 或者是通过依赖注入的方式读取

1.普通方式:

写一个通用方法

public string GetSettings(){var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);IConfigurationRoot configuration = builder.Build();return configuration["qwe:aaaa"];}

2.依赖注入读取方式:

依赖注入的使用可参考我的另一篇文章https://blog.csdn.net/qq_39569480/article/details/127227296?spm=1001.2014.3001.5501

包控制台安装
Microsoft.Extensions.Configuration 库, 包含IConfiguration接口 和 Configuration类

Microsoft.Extensions.Configuration.Json 库, 为 IConfiguration 增加了读取 Json 文件功能,

修改Program.cs文件

using Microsoft.Extensions.Configuration;
namespace DataSync
{internal static class Program{/// <summary>///  The main entry point for the application./// </summary>[STAThread]static void Main(){ // To customize application configuration such as set high DPI settings or default font,// see https://aka.ms/applicationconfiguration.ApplicationConfiguration.Initialize();//创建服务容器var services = new ServiceCollection();//添加服务注册ConfigureServices(services);//先用DI容器生成 serviceProvider, 然后通过 serviceProvider 获取Main Form的注册实例var serviceProvider = services.BuildServiceProvider();var formMain = serviceProvider.GetRequiredService<Form1>();   //主动从容器中获取FormMain实例, 这是简洁写法// var formMain = (FormMain)serviceProvider.GetService(typeof(FormMain));  //更繁琐的写法Application.Run(formMain);}/// <summary>/// 注入服务/// </summary>/// <param name="services"></param>public static void ConfigureServices(IServiceCollection services){//批量注入可以使用Scrutor或者自己封装services.AddScoped<YlbBio>();services.AddScoped(typeof(Form1));//register configurationIConfigurationBuilder cfgBuilder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json").AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT")}.json", optional: true, reloadOnChange: false);IConfiguration configuration = cfgBuilder.Build();services.AddSingleton<IConfiguration>(configuration); }}
}

使用:

namespace DataSync
{public partial class Form1 : Form{ private readonly IConfiguration _configuration;//注入IConfigurationpublic Form1(YlbBio YlbBio, IConfiguration configuration){InitializeComponent(); _configuration = configuration;} private void button1_Click(object sender, EventArgs e){ var Default = _configuration.GetConnectionString("Default");  //从配置文件中读取Default connectionStringConsole.WriteLine(Default );var url = _configuration["url:url1"];Console.WriteLine(url);//普通方式Console.WriteLine(GetSettings());} public string GetSettings(){var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);IConfigurationRoot configuration = builder.Build();return configuration["qwe:aaaa"];} }
}

net6 winform应用读取配置文件(依赖注入、普通读取)相关推荐

  1. ASP.NET CORE MVC 2.0 如何在Filter中使用依赖注入来读取AppSettings

    问: ASP.NET CORE MVC 如何在Filter中使用依赖注入来读取AppSettings 答: Dependency injection is possible in filters as ...

  2. python读取配置文件失败原因_python读取配置文件报keyerror-文件路径不正确导致的错误...

    - 在其他模块使用反射读取配置文件报错,但是在反射模块中读取GetData.check_list又是正确的 反射模块如下: # get_data.py from API_AUTO.p2p_projec ...

  3. iis无法读取配置文件_SpringBoot 有很多读取配置文件的方法,你知道几个? 静态方法读取呢?...

    SpringBoot 如何在静态方法中读取配置文件的值 在Spring中呢有很多读取配置文件值的相关注解,读取这些配置文件都是依赖于Spring的方式.我发现的读取配置文件的方式有好几种. 1.@Va ...

  4. 【C 语言】文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )

    文章目录 一.函数接口形参 二.读取配置文件的逐行遍历操作 1.读取配置文件的逐行遍历操作 2.读取一行数据 3.查找字符 4.删除字符串前后的空格 5.完整代码示例 一.函数接口形参 函数作用 : ...

  5. php程序里的configini_PHP读取配置文件类实例(可读取ini,yaml,xml等)

    这篇文章主要介绍了PHP读取配置文件类,可读取ini,yaml,xml等配置文件,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了PHP读取配置文件类实例.分享给大家供大家参考.具体如下: ...

  6. 【SSM面向CRUD编程专栏 1】Spring简介 xml配置文件 依赖注入 数据注入

  7. python读取配置文件configparser模块

    python使用自带的configparser模块用来读取配置文件,配置文件的形式类似windows中的ini文件 目录 1.新建配置文件 2.读取配置文件 3.打印读取内容 1.新建配置文件 con ...

  8. Spring详解-------依赖注入的三种方式实例详解

    目录 1.什么是依赖注入 1.1类的关系 1.1.1 依赖关系(Dependency) 1.1.2 聚合(Aggregation) 1.2关系强度 2 为什么使用依赖注入 2.1开闭原则 2.1.1 ...

  9. python读取sqlserver数据库方法_SQLServer数据库之Python读取配置文件,并连接数据库SQL Server...

    本文主要向大家介绍了SQLServer数据库之Python读取配置文件,并连接数据库SQL Server,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 用配置文件保存固定 ...

最新文章

  1. 虚拟桌面的备份恢复最佳实践 第一部分
  2. 如何将目录下几百个lib加入到vs项目属性下的链接器
  3. 从数据库读写RadioButtonList选中的值
  4. linux常用命令总结-第一次考试
  5. SPS:设置访问群体
  6. delta3d中,读取自己的xml配置文件。
  7. 数据抽取oracle_【跟我学】特征抽取算法与应用
  8. SAP 资产分类的配置方法
  9. MATLAB代码:基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究
  10. 云尚发卡PHP,PHP云尚发卡系统V1.5.7源码,专门为个人或小型企业提供在线售卡
  11. MATLAB线性方程组的两种求解,matlab求解线性方程组
  12. 如何自己动手免费申请软件著作权
  13. php strtok函数,strtok函数的用法是什么
  14. win10系统的应用商店不见了怎么安装回来
  15. 【MOD】函数判别性别
  16. 大国的崛起:第一集:海洋时代(开篇·葡西)
  17. 【WCN685X】WCN685X hostapd 设置country码不生效问题分析及解决方案
  18. 100% 解决 VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色
  19. python学习--模型过拟合查看learning curve
  20. 我的无影云电脑初体验

热门文章

  1. 天文学习资料(from CL)
  2. GoAhead3 - 路由处理
  3. sap basis 常用事务代码
  4. 网易云音乐和QQ音乐达成合作,有什么影响?
  5. 【目标定位】基于matlab扩展卡尔曼滤波器多机器人定位【含Matlab源码 2327期】
  6. openxr runtime Monado 源码解析 源码分析:CreateInstance流程(设备系统和合成器系统)Compositor comp_main client compositor
  7. Android文字环绕效果
  8. source insight 3.5 恢复contex窗口及嵌入contex window
  9. 墨渊第十七版引导页源码 彩虹云任务引导页模板
  10. DD ENV 13381-2: 垂直防火薄板CE认证