Каков наилучший способ обработки версий файлов web.config в ASP.Net? - PullRequest
3 голосов
/ 14 апреля 2010

У меня есть веб-сайт ASP.Net (страницы ASPX и ASMX) с одним файлом web.config. У нас есть версия для разработки и производственная версия. Со временем файлы web.config для разработки и производства существенно разошлись.

Как лучше всего хранить обе версии web.config в системе контроля версий (мы используем Tortoise SVN, но я не думаю, что это имеет значение)? Кажется, что я мог бы добавить производственный файл web.config с именем, подобным «web.config.prod», а затем, когда мы оборачиваем все файлы, мы просто добавили бы шаг удаления существующего web.config и переименования web.config .prod to web.config.

Это кажется хакерским, хотя я уверен, что это сработает. Нет ли какого-нибудь механизма для работы с этим встроенным в Visual Studio? Похоже, это будет распространенной проблемой, но я не нашел никаких вопросов (с ответами) по этому поводу.

Ответы [ 3 ]

5 голосов
/ 14 апреля 2010

Я использую Nant для своих сборок. В SVN у меня есть web.config.template, который содержит параметры, которые раскрываются с помощью файла свойств. Каждая среда имеет свой собственный файл свойств с различными значениями.

Короче говоря, я не имею web.config в SVN, а вместо этого шаблон.

Примерно так

http://www.cptloadtest.com/2007/09/22/Managing-Multiple-Environment-Configurations-Through-NAnt.aspx

NAnt: http://nant.sourceforge.net/

3 голосов
/ 14 апреля 2010

Мы используем точный метод, который вы описали, он прекрасно работает, например, у нас есть:

  • web.config (для локального развития)
  • web.Dev.config (сборка сервера, сборка при регистрации)
  • web.QC.config (среда тестирования)
  • web.Prod.config (производство)

Сценарий сборки для каждой среды просто удаляет файл web.config и переименовывает соответствующий на своем месте. Таким образом, вы можете легко контролировать все источники и очень быстро делать различия и видеть, что может отличаться в разных средах. Обновление значения конфигурации по всем направлениям также намного проще ... в следующий раз, когда оно будет перенесено в эту среду, оно получит новый конфиг.

1 голос
/ 14 апреля 2010

Visual Studio 2010 добавляет новую функцию под названием XDT Transforms , которая автоматически объединяет несколько файлов Web.config для разных конфигураций.

Однако VS2008 не имеет такой функции.

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