Мне интересно узнать, как другие хранят свои файлы web.config для развернутых приложений. (при условии отсутствия механизма автоматического развертывания - это выходит за рамки этого вопроса)
Таким образом, во время разработки некоторые разработчики могут использовать преобразования web.config, создавать / публиковать свои проекты (отладка / выпуск, тестировать / использовать конфигурации), а затем развертывать все опубликованные артефакты на веб-сервере и настраивать IIS. Некоторые разработчики могут создавать / публиковать свои проекты, развертывать опубликованные артефакты на веб-сервере, настраивать IIS, а затем вручную обновлять web.configs для конкретной среды (test / live и т. Д.), В которой они развертываются.
Как только начальное развертывание выполнено и приложение запущено в производство (либо в оперативной, либо в тестовой среде), как вы будете поддерживать файлы web.config с течением времени, если, например, нужно изменить строку подключения к базе данных или ключ настроек приложения?
Используете ли вы преобразования web.config, вносите ли изменения в VS, повторно публикуете приложение, затем копируете все приложение или, возможно, только новый web.config на сервер?
Вы просто вручную вносите изменения в файл web.config на сервере?
Изменяет ли ваш контроль версий изменения web.config в контроле исходного кода, если меняются такие вещи, как строки подключения, ключи приложения и т. Д. (Не структура)?
Мне интересно знать, как другие приближаются к этому.
В настоящее время мы производим изменения в файле web.config. По мере того как мы внедряем новые функции или исправляем ошибки, мы контролируем эти изменения, а также любые изменения в файле web.config, такие как новые ключи приложения и т. Д. Если нам потребуется развернуть новую версию приложения, мы создадим резервную копию текущей версии в рабочей среде. сервер, удалите все файлы, файлы конфигурации исключений, затем скопируйте новую версию без файлов конфигурации на рабочий сервер, сохранив существующую конфигурацию. Затем вручную сравните существующую конфигурацию с той, которая имеется в управлении исходным кодом, чтобы учесть изменения в схеме.
Мы бездельничаем в пересмотре этого, потому что мы хотим, чтобы процедура была воспроизводимой и не чувствительной к человеческим ошибкам. Я не уверен, что решение на 100% трансформирует web.config. Даже если вы используете преобразования, все равно кажется, что при развертывании требуется вмешательство человека, потому что потенциально значение в файле рабочей конфигурации могло измениться и не было обновлено в исходном элементе управления. Как другие решают эту проблему?