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”
属性表示该位置插入一个节点