Subversion и папка Bin проекта веб-сайта ASP.NET - PullRequest
3 голосов
/ 04 марта 2010

Мы находимся в процессе перехода с VSS на Subversion, и у нас есть проект веб-сайта в нашем Subversion Repo. Мы удалили папку Bin, так как она вызывает всевозможные конфликты хаотических деревьев, поскольку наше решение для разработки содержит несколько проектов библиотеки классов, от которых зависит проект веб-сайта (настроенных как ссылки проекта в нашем решении). У нас также есть несколько сторонних библиотек DLL в папке Bin веб-сайта.

На следующем этапе нашего проекта дизайнер вносит изменения в темы нашего сайта. Мне бы хотелось, чтобы он мог просто открыть проект Website в VS 2005, изменить необходимые ему CSS-файлы в своей рабочей копии и протестировать свои файлы на своем локальном хосте. Ему понадобятся самые современные DLL-файлы, чтобы он мог это сделать.

Есть ли способ добавить библиотеки DLL папки Bin в Subversion и настроить TortoiseSVN или Subversion, чтобы мы могли фиксировать наши новейшие библиотеки DLL (зависимости проекта в файлах решений разработчика), но игнорировать их при обновлении (для каждого клиента, я думаю)? Также было бы удобно иметь зависимости от сторонних веб-сайтов от Subversion.

Ответы [ 5 ]

5 голосов
/ 04 марта 2010

Не следует помещать сторонние сборки в папку bin. Фактически, вы должны предполагать, что папка bin будет очищаться перед каждой сборкой. Это место для вывода вывода из сборки, а не место для ввода входных данных.

Поместите эти двоичные файлы в какую-то другую папку, возможно, "3rdPartyAssemblies". Используйте ссылку на файл для этих файлов, и они будут скопированы в папку bin в качестве выходных данных.

3 голосов
/ 04 марта 2010

Не было бы возможно структурировать это так:

Trunk/
  WebApp/ 
  ClassLibrary1/
  ClassLibrary2/
  ClassLibrary3/
  3rdPartyDlls/
  build.bat

Веб-приложение - это то, что тянет все библиотеки классов, и сторонняя библиотека помещается в папку Bin WebApp (на все они будут ссылаться через относительные ссылки). Затем вы можете настроить TortoiseSvn для вызова файла build.bat при обновлении через клиентские хуки . Вы также должны настроить IIS на компьютере разработчика, чтобы он указывал на каталог WebApp.

Как отмечали другие пользователи, вы можете использовать svn externals для извлечения этих корпоративных библиотек классов.

1 голос
/ 04 марта 2010

То, что большинство других сказали о «3-й партии», правильно.

Вы также можете использовать svn: externals для добавления связанных каталогов, включая каталог сборок '3rdParty', или даже выходных каталогов из сборок, которые могут быть вызваны проверкой для подтверждения валюты.

0 голосов
/ 04 марта 2010

Мы не контролируем исходную папку bin, поскольку она будет обновляться при каждом запуске компиляции.Вместо этого мы храним ссылки на библиотеки 3-й части в отдельной папке, которая находится под контролем версий, на которые у нас есть ссылки в нашем проекте.

При такой настройке и использовании «copy local = true» они автоматически добавляются в bin при компиляции.

Во-вторых, мы будем фиксировать новые двоичные файлы только при обновлении бинарных файлов третьей части.

Этот подход также возможен для ваших внутренних библиотек, так что ваш дизайнер может просто скомпилировать свое решение visual-studio, чтобы любые соответствующие библиотеки были помещены в его папку bin и, следовательно, создатьфункциональный сайт локально на своей машине.

0 голосов
/ 04 марта 2010

Мы выбрали такой подход: вместо того, чтобы использовать библиотеки в одном решении, у них есть отдельные решения, и мы (ну, наш сервер сборки) компилируем их и проверяем скомпилированные библиотеки DLL в sourcecontrol в разделе «Зависимости», который 1001 * всегда сопоставлено с C: \ Dependencies на всех машинах разработчиков. Затем мы используем ссылки на файлы в этой папке из проекта веб-сайта.

Таким образом, вы можете дать своему дизайнеру проект Веб-сайта вместе с копией C: \ Dependencies, и они будут неведомыми =)

...