首页 > 其他分享 >winform中使用yaml配置文件

winform中使用yaml配置文件

时间:2023-06-03 23:01:15浏览次数:34  
标签:Configuration 配置文件 Microsoft yaml Extensions configuration public winform

1、引入nuget包

  • NetEscapades.Configuration.Yaml
  • Microsoft.Extensions.Configuration.Binder

  引入上面两个包

  

2、新增yaml文件

  可以新增到目录中,也可以放在根目录,我这边新增到了Conf文件夹中。

  创建一个Conf文件夹,然后里面创建一个myconfig.yaml文件。

  

   myconfig.yaml文件内容如下:(表示一个对象数组,具体yaml格式可以自行百度)

BuildPath:
 -
  key: Entity
  path: po
 -
  key: Dao
  path: dao

3、使用

  3.1、配置

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace CodeBuilder
{
    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();

            // 配置yaml读取路径
            var configBuilder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddYamlFile("Conf/myconfig.yaml");
            // 创建服务容器
            var services = new ServiceCollection();
            // 注册配置文件
            services.AddSingleton<IConfiguration>(configBuilder.Build());
        }
    }
}

  3.2、读取

using Microsoft.Extensions.Configuration;

namespace CodeBuilder.Service.Impl
{
    public class EntityFileService: IEntityFileService
    {
        private readonly IConfiguration _configuration;

        public EntityFileService(IConfiguration configuration)
        {
            _configuration = configuration;
        }

        public void BuildEntity()
        {
            // 获取配置生成的路径
            var buildPaths = _configuration.GetSection("BuildPath").Get<List<BuildPathConf>>();
        }
    }

    public class BuildPathConf
    {
        /// <summary>
        /// Key
        /// </summary>
        public string Key { set; get; }
        /// <summary>
        /// Path
        /// </summary>
        public string Path { set; get; }
    }
}

4、验证

  经过打断点调试,yaml文件中的数据已经被成功读取

  

 

标签:Configuration,配置文件,Microsoft,yaml,Extensions,configuration,public,winform
From: https://www.cnblogs.com/smj-7038/p/17454928.html

相关文章

  • React 配置文件 | 配置本地IP地址和端口号
    问题create-react-app默认端口号是3000,当有的别的项目占用该端口号时自己想使用别的端口号时方法1、更改node_modulesa.依次打开“node_modules”—“react-scripts”—“scripts”文件夹,找到并打开start.js文件;b.在start.js文件中查找并修改“DEFAULT_PORT”项的端口值即可。2......
  • ORACLE的三个配置文件介绍
     在oracle安装目录$HOME/network/admin下,经常看到sqlnet.oratnsnames.oralistener.ora这三个文件,除了tnsnames.ora,其他两个文件详细的用途很多人都不太了解。sqlnet.ora用在oracleclient端,用于配置连接服务端oracle的相关参数.tnsnames.ora用在oracleclient端,用......
  • Oracle主要配置文件
    Oracle主要配置文件介绍(转帖)Oracle主要配置文件介绍:  profile文件,oratab文件,数据库实例初始化文件initSID.ora,监听配置文件,sqlnet.ora文件,tnsnames.ora文件1.2Oracle主要配置文件介绍1.2.1/etc/profile文件          系统级的环......
  • 使用ILMerge将多个DLL整合进winform程序
    ILMerge是微软开发的工具用于将多个dll、exe等合并,项目已经开源在github 命令行方式使用范例:ILMerge.exe /ndebug/target:winexe/out:output.exe1.exe1.dll2.dll3.dll......
  • 好饭不怕晚,扒一下Redis配置文件的底Ku
    忙碌是一种幸福,让我们没时间体会痛苦;奔波是一种快乐,让我们真实地感受生活;疲惫是一种享受,让我们无暇空虚。这几句话就能简单概括我最近的工作和生活。好多小伙伴都来私信“催更”,今天它来了!为了表达阿Q的歉意,特赠送「亿级流量Java高并发与网络编程实战」一本,规则见文末。在往期的文......
  • React 配置文件 | 配置本地IP地址和端口号
    问题create-react-app默认端口号是3000,当有的别的项目占用该端口号时自己想使用别的端口号时方法1、更改node_modulesa.依次打开“node_modules”—“react-scripts”—“scripts”文件夹,找到并打开start.js文件;b.在start.js文件中查找并修改“DEFAULT_PORT”项的端口值即......
  • Jasypt加密SpringBoot配置文件和自动加密数据库敏感信息
    Jasypt是开源的加密和解密的组件。和Spring提供了很好的集成。一、加密SpringBoot配置文件 新建SpringBoot项目,添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>......
  • 使用dom4j解析mybatis核心配置文件
    1. 代码   32-34test代码在com.powernode.xml.testParseXMLByDom4jTestpackagecom.powernode.xml.test;importorg.dom4j.Document;importorg.dom4j.Element;importorg.dom4j.Node;importorg.dom4j.io.SAXReader;importorg.junit.Test;importjava.io.InputStream......
  • mysql5.7配置文件详解
    8核心32G独立mysql服务器的配置文件如下:[client]port=3306socket=/data/mysql/mysql.sock[mysql]prompt="mysql[\d]>"no-auto-rehash[mysqldump]quick[mysqld]user=mysqlport=3306basedir=/usr/local/mysqldatadir=/data/mysqlsocket=/......
  • c#winform 文字阅读工具,可以暂停 可以继续 可以从光标处开始阅读
    c#winform文字阅读工具支持暂停支持继续支持从光标处开始具体源码可以与我沟通 //stringtext1=textBoxX1.Text;//SpVoicevoice=newSpVoice();//voice.Voice=voice.GetVoices().Item(0);////音量......