На этот вопрос уже есть ответ:
Мои настройки приложения web.config для отладки и выпуска не читаются правильно.
Web.config:
] Web.Debug.config
Web.Release.config
Однако вызов:
WebConfigurationManager.AppSettings["ErrorEmailAddress"]
возвращает null (при отладке).
Я попытался добавить xdt: Transform = "Insert", например
Есть идеи?
Хорошо, я понял это.
Ответили здесь: Как я могу использовать Web.debug.config во встроенном отладочном сервере Visual Studio?
Таким образом, файлы конфигурации объединяются только когда вы публикуете, а не когда вы работаете против локального сервера. Довольно глупая IMO, когда еще вы будете использовать Web.Debug.config?
Я сделаю так, как предлагается здесь: Используйте преобразование Visual Studio web.config для отладки
и просто используйте Web.config в качестве моего файла конфигурации отладки по умолчанию, а затем выпустите релиз при выпуске. Не вижу использования Web.Debug.config в качестве этого пункта.
Тем не менее, это раздражает, потому что большинство моих настроек я хочу установить односторонним для всех сред, но при разработке (например, customErrors On). Это означает, что я должен установить их в Web.config для отладки, а затем во всех других моих средах изменить их.
Спасибо всем за ответы.
Я выяснил это,
сначала вы добавите записи настроек приложения в appSetting of the web.Config с пустыми значениями или с отладочными значениями
<add key="Environment" value="Localhost" />
, затем вы добавляете то же самое с различными значениями в web.release.config , но добавьте часть преобразования
<add key="Environment" value="DifferentValue" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
Затем, когда вы публикуете сайт в режиме выпуска, вы получите значения выпуска, Вы также можно добавить то же самое в конфигурацию отладки, а затем опубликовать в конфигурации отладки с другими значениями