.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)等等,數據與控制項的雙向綁定等
如對此感興趣,可以關註公眾號獲取更多文章信息。