8

При публикации веб-сайта asp.net в Visual Studio 2008 существует способ, которым я могу заставить его игнорировать папки .svn в моей локальной рабочей копии, чтобы моя целевая папка не содержала файлы .svn как часть вывода.Как предотвратить публикацию VS 2008 от публикации папок .svn как часть процесса публикации?

Спасибо,

Jason

ответ

0

Вы можете щелкнуть правую кнопку на папке в VS и удалить его из проекта, или вы можете убедиться, что какие-либо из файлов, содержащихся в папке есть их сборка Действие установлено None и Copy to Output Directory установлено значение Не копировать

+0

Папки .svn фактически не отображаются в браузере решений (см. Снимок экрана здесь http://screencast.com/t/WR1tmU1WyR3) –

+0

Это также было бы крайне непрактичным для крупных проектов. –

4

У Visual Studio есть проблема с папками «.svn» внутри веб-сайтов. Следовательно, вы должны применить взломанный взлом ASP.NET, который использует каталоги «_svn» вместо «.svn».

При использовании TortoiseSVN это просто опция в настройках TSVN (см. Страницу «Общие»). При использовании клиента командной строки SVN вам необходимо установить переменную среды (подробности см. В разделе this page).

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

UPDATE:

проблемы, упомянутые выше, существовали с Visual Studio 2003 (соответственно передние расширения страниц раньше.). Новые версии Visual Studio не должны иметь проблемы.

Таким образом, ключ, похоже, просто устанавливает скрытый флаг в папки subversion (_svn или .svn). Затем при публикации веб-сайта папки игнорируются. (Я использую TortoiseSVN, и я предполагаю, что он автоматически устанавливает скрытый флаг в папки subversion).

+1

Martin, спасибо за ответ. Настройка для скрытия помогла со всеми, кроме папки .svn внутри/bin. Он по-прежнему публикует папку .svn, хотя папка скрыта. Вот скриншот, показывающий мою локальную рабочую копию/bin и target/bin. Любые идеи об этой особенности? –

+0

Ooops, вот скриншот: http://screencast.com/t/CJ0mU2SlI –

+1

Прошу прощения, но я понятия не имею, почему это происходит. Я также использую SVN с проектами веб-сайтов и никогда не сталкивался с этой проблемой (одна разница в том, что я использую «_svn» вместо «.svn»). Используете ли вы проекты «веб-сайт» или «веб-приложение»? – M4N

1

Бумажная папка не должна быть частью вашего источника, просто щелкните правой кнопкой мыши папку Bin в проводнике решений и «исключить из проекта».

теперь используйте проводник Windows, найдите папку bin и удалите папку .svn.

В следующий раз, когда вы публикуете (после удаления всего), вы не будете иметь файлы .svn, также, каждый раз, когда вы создадите свое решение, похоже, что вам не нужно проверять изменения.

+0

Но что, если у вас там DLL, которые не генерируются вашим проектом? Как Elmah.dll или какая-либо другая сторонняя dll? Как бы вы справились с этим? – Scott

+0

У меня была бы папка под названием «зависимости», которая является частью контроля источника. Затем создайте пост-скрипт, который копирует все файлы там, в ваш «выходной» каталог. Таким образом, независимо от выполнения отладки или выпуска, у вас есть зависимости.[добавить скрипт пост-сборки, перейдите на страницы настроек/свойств проекта, по компиляции, я думаю] – adudley

+0

+1 для получения этих дополнительных сборок из папки зависимостей, которую вы также можете использовать в качестве ссылки на проект и установить его свойство скопировать на вывод – eglasius

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