Как предотвратить публикацию "публикации Интернета" из файлов конфигурации?
Когда я публикую свой веб-сайт Asp.Net MVC на производственном сервере (через VS2008), файлы web.config и castle.xml перезаписываются. Содержимое этих файлов явно отличается между моей локальной средой dev и рабочим сервером.
Как предотвратить публикацию этих файлов?
Ответы
Ответ 1
В проводнике решений Visual Studio перейдите к свойствам файла web.config. Убедитесь, что "Build Action" - "None", а "Copy to Output Directory" - "Не копировать".
Если вы когда-либо захотите обновить его в будущем, вам придется сделать это вручную или изменить "Build Action" на "Content". В следующий раз, когда вы создадите (или опубликуете), он перезапишет его.
Ответ 2
Никогда не публиковать прямо из Visual Studio на производственный сервер!
Опубликуйте сервер тестирования для проверки качества, а затем скопируйте его из QA в производство (для существующего веб-сайта без изменений iis это просто вопрос копирования файлов).
Где я нахожусь, мы также держим эти опубликованные файлы под контролем ревизии отдельно, и поэтому, когда QA подписывается на сборку, процесс развертывания просто проверяет файлы из исходного элемента управления на рабочем сервере.