.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)等等,数据与控件的双向绑定等
如对此感兴趣,可以关注公众号获取更多文章信息。