Настройки конфигурации только для разработки - PullRequest
1 голос
/ 09 марта 2012

Short
Я хочу установить определенные значения applicationSetting на конкретные значения только для моей машины разработки в файле конфигурации, который не может быть зарегистрирован. Для этого я подумал об использовании атрибута configSource с файлом user.config. Однако этот атрибут вызывает исключение, когда файл отсутствует.

Расширенная
У меня есть библиотека со следующим файлом app.config:

<applicationSettings>
    <A.NameSpace.Settings>
        <setting name="ASettingName" serializeAs="String">
            <value>aSettingValue</value>
        </setting>
    </A.NameSpace.Settings>
</applicationSettings>

Другая библиотека собирается использовать эту библиотеку и имеет две опции, и одна из них описана чуть дальше

  • Не заполнять узел A.NameSpace.Settings, поэтому используется значение по умолчанию aSettingValue
  • Заполните узел A.NameSpace.Settings, чтобы использовать только что настроенное значение

Это удобно, потому что наш скрипт сборки, который готовит настройки, теперь может заменять параметры, зависящие от среды (например, имена серверов, порты и т. Д.)

Теперь третий вариант - иметь app.config, например так:

<applicationSettings>
    <A.NameSpace.Settings configSource="user.config" />         
</applicationSettings>

и определите то же значение в файле user.config, который не зарегистрирован. Это потрясающе. За исключением того, что в среде не-dev этот файл user.config не должен отображаться, и будет сгенерировано исключение, если файл не найден.

Как я могу определить значения конфигурации только для моей машины?

Ответы [ 3 ]

2 голосов
/ 09 марта 2012

Я думаю SlowCheetah - это то, что вы ищете.

Скотт Хансельман написал об этом в блоге: SlowCheetah - Web.config Синтаксис преобразования теперь обобщен для любого файла конфигурации XML

1 голос
/ 09 марта 2012

Вы можете использовать конфигурационные преобразования.Я найду документацию о том, как это сделать, и вскоре опубликую ее.

Вот статья hanselman , которая может помочь очень быстро.

0 голосов
/ 09 марта 2012

Подумайте об использовании муравья / мавена или что-то вроде этого

...