惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
V
Visual Studio Blog
罗磊的独立博客
Last Week in AI
Last Week in AI
爱范儿
爱范儿
The Cloudflare Blog
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
IT之家
IT之家
博客园 - 【当耐特】
雷峰网
雷峰网
博客园_首页
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
量子位
V
V2EX

博客园 - cdboy

.Net8新特性 EF Core 中原生SQL、存储过程、视图的使用 EF Core DBFirst 和Code First小结 Logstash日志搜集 Windows Service插件服务开源 Linq通用分页数据查询方法 .Net 通用配置文件读取方法 Asp.net 主题中CSS文件的缓存问题 Asp .net 4.0 中ViewStatus 使用 RssTookit使用小结 Windows Live Writer 分享到插件 Windows Resx资源文件编辑工具 IIS 7 中设置文件上传大小限制设置方法 多语言资源文件帮助 转帖:正则表达式的与或非 vs2010使用PostSharp 1.5 window service 插件服务插件开发 插件式服务架构 多语言资源工具之制作类库资源文件
软件自动发布自动化之配置文件修改
cdboy · 2019-12-11 · via 博客园 - cdboy

.net 平台中,配置文件有web.config和app.config两种,前者是web站点的配置文件,后面是WinForm应用的配置文件,基本库对这两种配置文件的读取提供很好支持。
但对文件本身的修改支持的不是太好,最近这段时间准备做.net应用的自动发布工具,在版本发布时,需要进行配置文件的自动修改,经过查询解决方案找到如下几种修改方法:

  • Xml解析方式

这种方式要求配置人员了解Xml Dom结构,熟悉XPath语法,使用起来难度比较大,配置起来相对复杂,需要完全自主开发。

  • XDT Transformation tool

此种方式配置灵活,使用 XDT transform engine,可以应用于任意Xml文件的解析,需要学习XDT转换语法,可参考文档:

https://docs.microsoft.com/en-us/previous-versions/aspnet/dd465326(v=vs.110)?redirectedfrom=MSDN


工具源码地址:

https://github.com/cdzhoubin/Config-Transformation-Tool

  • ConfigMerge

此种方式专门用于,合并两个配置文件,新配置文件的内容,可以是新增,删除,修改旧的配置文件内容,用户不用了解XPath语法,直接使用与修改源相同的文件结构就可以,简单易用,网上的源码库地址如下:
https://github.com/loftum/ConfigMerge
合并方法:
Example transformation

App.root.config:

 App.override.config:

Result:

为了更好的使用这个工具,我需要这个工具即支持命令行的方式工作,也支持WinForm的方式工作(提供配置管理功能),我对此工具作了重构,并写了WinForm程序,效果如下所示:

新增

 合并

源码地址:https://github.com/cdzhoubin/ConfigMerge

此Winform小程序,包括ErrorProvider控件使用,通用属性检验的使用,如(StringLength,Required)等等,数据与控件的双向绑定等

如对此感兴趣,可以关注公众号获取更多文章信息。