欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

软件自动发布自动化之配置文件修改

程序员文章站 2022-05-03 12:39:02
.net 平台中,配置文件有web.config和app.config两种,前者是web站点的配置文件,后面是WinForm应用的配置文件,基本库对这两种配置文件的读取提供很好支持。 但对文件本身的修改支持的不是太好,最近这段时间准备做.net应用的自动发布工具,在版本发布时,需要进行配置文件的自动 ......

.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)等等,数据与控件的双向绑定等

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

软件自动发布自动化之配置文件修改