SlowCheetah 能满足不同模式下编译产生不同 app.config 配置的需求,已被微软纳入麾下,支持XML,JSON格式。
下面我们用XML的格式来试试如何使用SlowCheetah,JSON方式还没研究。
nuget 安装 SlowCheetah,选择微软Microsoft那个
打开 vs 扩展商店安装插件 SlowCheetah
右键 app.config 文件,选择 Add Transform
,产生各个编译模式的 app.config 变体文件
选择 Add Transform
产生变体文件
添加两个配置项做测试,一个用户配置,一个应用程序配置
Settings 文件
App.config 文件
修改 App.Release.config。将 App.config 里的配置信息复制过去,增加 xdt:Transform="Replace" xdt:Locator="Match(name)”
表示找到 name 相同的xml节点,替换原值value
预览异同。右键 App.Release.config ,选择 Preview Transform
。预览你编写的Release配置是否正确生效
选择 Preview Transform
查看异同
好了,切换 Release 模式编译试试吧
例如下方这个项目引用了一个Device的项目,直接右键Device的app.config文件添加变体,在编译主项目时,Device 里的变体是无效的。
对比最终编译出的 app.config,可以发现需要插入一些节点,于是有了以下方案
插入一条 name 为 Device.Properties.Settings 的 section 节点
插入一条 Device.Properties.Settings 节点
注意 xdt:Transform="Insert”
属性表示该位置插入一个节点