Динамически генерировать конфигурацию приложения как часть CI - PullRequest
0 голосов
/ 09 декабря 2010

У нас есть много сред и мы думаем о создании динамической конфигурации приложения как части CI. Значения конфигурации будут храниться в базе данных с использованием WPF. Операционная группа управляет приложением для новых записей конфигурации приложения.

Проблема, с которой я сталкиваюсь, заключается в том, как я могу динамически создать конфигурацию и проверить ее? Мнения ..? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 09 декабря 2010

Если число конфигураций является конечным и известным (тест, UAT, рабочий стол рабочего стола, рабочий мобильный телефон и т. Д.), Вы можете воспользоваться атрибутом configSource, который содержится в элементах AppSettings, ConnectionStrings и ConfigSection. Вот основная предпосылка; создайте файл AppSettings.xyz.config для каждой конфигурации, где xyz - это имя конфигурации («local», «test», «uat», «prod» и т. д.). Создайте один файл app.config, который использует определение <!ENTITY config "xyz"> и имеет атрибуты configSource для различных разделов, установленных следующим образом:

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

Теперь в логике развертывания вы меняете одну вещь; строковый литерал, определенный сущностью. Это изменение достаточно простое, так что вам даже не нужен синтаксический анализ XML для его внесения; просто поместите файл в память с помощью FileStream, найдите определение сущности, внесите изменения и выплюните новый контент обратно в файл. Если вы используете установщик, вы можете контролировать, какие дочерние конфигурации установлены, или просто выложить их все для простоты.

0 голосов
/ 09 декабря 2010

Взгляните на T4 .Вы можете создать скелетный файл .config с определенными переменными, которые заполняются из базы данных, чтобы сгенерировать файл для конкретной среды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...