У меня есть приложение, зависящее от некоторых внутренних веб-сервисов, и поэтому мы хотим, чтобы наши конфигурации разработки и промежуточного уровня указывали на серверы разработки и промежуточного уровня для веб-служб.Изменить конфигурационный файл на основе констант сборки
Прямо сейчас это означает, что мы вручную редактируем файл app.config, указывая на соответствующие URL-адреса. Это не только хлопот, но и склонность к человеческой ошибке («oops, я не удаляю этот производственный URL?» Может вызвать много-проблемы).
В небольшой кучке мест в коде, я использую оператор препроцессора
#if DEBUG
// do something
#endif
, и был интересен, если что-то подобное может быть сделано для значений в app.config. Я смог сделать это очень хорошо с помощью настроек приложения, поскольку эти значения доступны внутри кода.
Мне известно о сценариях после сборки, но кажется, что может быть проще, чем писать рутину для создания XML-приложения app.config каждый раз, когда я делаю сборку. Какие-либо предложения?
Это для C# и .NET 3.5, и включает в себя как старые «ссылки в Интернете», так и новые ссылки на веб-службы WCF.
+1 Отлично! Я искал что-то вроде этого ... Это заставит мои файлы конфигурации немного уродливее, но я предпочел бы, чтобы у меня был один уродливый, чем три умеренно уродливые. (Примечание. Это относится только к файлам конфигурации, а не к женщинам). – 2009-01-27 17:09:20