Переключение между версией для разработчиков и живой версией - PullRequest
1 голос
/ 26 января 2010

Есть ли у кого-нибудь хорошие методы для легкого переключения между разработкой и живыми сборками для сайтов asp.net mvc? Каждый раз, когда я делаю некоторые изменения, мне нужно измениться, чтобы просмотреть файл web.config, закомментировать все мои локальные файлы и раскомментировать все мои удаленные настройки. Мне также нужно обновить dbml-файл linq-to-sql, чтобы он указывал на правильную строку подключения.

Это происходит каждый раз, когда я изменяю контроллер. После того, как я загрузил изменения, мне нужно выполнить тот же процесс и вернуть его в режим разработки (локальный).

Есть ли автоматический способ справиться с этим или хотя бы один параметр, который может помечать между ними?

Спасибо

Ответы [ 2 ]

1 голос
/ 26 января 2010

Я сделал способ сделать две группы настроек конфигурации

<LiveSomeSetting>something</LiveSomeSetting>
<TestSomeSetting>anotherthing</TestSomeSetting>

Тогда в моем классе, который читает информацию о конфигурации, я бы проверил что-то вроде системного окружения / имени компьютера и, если применимо к имени вашей машины LIVE, посмотрел на настройки ... в противном случае разработка.

if (System.Environment.MachineName.ToLower().StartsWith("devMachineName"))
   IsLive = "Test";
else
   IsLive = "Live";

Application["IsLive"] = IsLive;
SomeSetting = ConfigurationManager.AppSettings[IsLive + "SomeSetting"];
0 голосов
/ 26 января 2010

Я использую простую технику, которую Скотт Хансельман опубликовал в '97. В основном это включает в себя ведение отдельных файлов web.config для каждого типа сборки. Затем происходит событие предварительной сборки, которое копирует правильный файл web.config на место.

Недостатком является поддержка более 2-х файлов web.config, но как только вы приступите к работе, это не такая уж большая проблема.

Посмотрите здесь на статью:
Управление несколькими средами конфигурационных файлов с событиями предварительной сборки

HTHS,
Charles

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