动态生成应用程序配置作为CI的一部分

时间:2010-12-09 15:11:21

标签: c# .net continuous-integration

我们有许多环境,并考虑将CI作为动态应用程序配置的一部分。配置值将使用WPF存储在数据库中。运营团队管理新应用配置条目的应用。

我面临的问题是如何动态创建配置并验证它?意见..?提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果配置数量有限且已知(测试,UAT,生产桌面,生产移动设备等),您可以利用AppSettings,ConnectionStrings和ConfigSection元素上的configSource属性。这是基本前提;为每个配置创建一个AppSettings.xyz.config文件,其中xyz是配置的名称(“local”“test”,“uat”,“prod”等)。创建一个使用<!ENTITY config "xyz">定义的app.config文件,并为各个部分设置configSource属性,类似于:

<appsettings configSource="appSettings.&config.config">

现在,在部署逻辑中,你改变了一件事;实体定义的字符串文字。这种变化很简单,你甚至不需要XML解析来进行更改;只需使用FileStream将文件粘贴到内存中,找到实体定义,进行更改并将新内容吐回到文件中。如果您正在使用安装程序,则可以控制安装了哪些子配置,或者只是为了简单起见将它们全部放在那里。

答案 1 :(得分:0)

看看T4。您可以使用从数据库填充的某些变量创建骨架.config文件,以生成特定于环境的文件。