2012-02-29 6 views
4

Я регулярно публикую свой сайт без особых проблем. Но сегодня я заметил, что он не будет перезаписывать существующие файлы .cshtml razor с новыми версиями. Я публикую, смотрю на папку и вижу, что файлы все еще устарели. Если я удалю файл и опубликую его, там будет добавлена ​​новая версия. Но если файл уже существует, он не будет перезаписывать его, и мой веб-сайт выпуска устарел. Я попытался сделать вариант «удалить файлы перед публикацией», но он дает мне ошибку доступа, что он не может удалять папки. Я попытался удалить всю папку, но потом потерял свои .svn-папки и не узнает контроль версий.asp.net mvc publish не перезаписывает файлы cshtml

Есть ли способ заставить команду Publish перезаписать мои файлы .cshtml с последней версией? (обратите внимание: файлы dll переписываются в порядке)

+0

Если у вас есть папки .SVN на рабочем сервере, то вы _definitely_ должны делать что-то неправильно. Возможно, вы решили переместить опубликованный веб-сайт в другую папку? –

+0

Как вы публикуете? Из Visual Studio с использованием настроек веб-развертывания? –

+0

Чтобы опубликовать, я внутри VS, и я нажимаю правой кнопкой мыши на проекте и выбираю «Публиковать», используя файловую систему. – user441058

ответ

2

Кажется, что атрибут «Только для чтения» установлен на файлы, поэтому их нельзя перезаписать. Проверьте окно вывода VS на наличие ошибок.

Совет: попробуйте НЕ включать сгенерированные файлы (это также означает папку с опубликованными файлами) в исходном элементе управления. Инструменты VCS обычно имеют тенденцию блокировать файлы, над которыми они работают.

Наличие файлов .svn на сервере Test/Prod также не является хорошей идеей.

+0

Когда я щелкаю правой кнопкой мыши на .cshtml-файлах и выбираю «Свойства», флажок «Только для чтения» не установлен. Кроме того, почему не рекомендуется иметь .svn-файлы на сервере? Сервер - это удаленный сервер, а копирование/вставка файлов - ОГРОМНАЯ боль. Но легко удаленно на сервер и щелкните его правой кнопкой мыши, чтобы получить последние обновленные файлы. – user441058

+0

.svn-файлы - это только файлы VCS, и они определенно не принадлежат проекту вообще, особенно на целевом сервере. Они также создают угрозу безопасности. –

+0

@ user441058: SVN не разработан с учетом публикации, и во многих случаях у вас могут быть огромные проблемы с доступом к файлам. Скорее всего, ваш вопрос такой. –

3

Установили ли вы Копировать в выходной каталог для копирования всегда?

Я использую Build Action = Content too.

Смежные вопросы