Лучшая практика: среда для совместной работы, Bin Directory, SVN - PullRequest
30 голосов
/ 02 августа 2008

Каковы лучшие методы проверки каталогов BIN в среде совместной разработки с использованием SVN? Должны ли ссылки на уровне проекта быть исключены из регистрации? Проще добавить все каталоги bin?

Я занимаюсь разработкой большого количества сайтов DotNetNuke, и кажется, что в среде с несколькими разработчиками всегда очень сложно правильно настроить среду.

Конечная цель (разумеется) - получить нового разработчика, извлекать транк из SVN, восстановить базу данных DNN и заставить все это просто «работать» ...

Ответы [ 5 ]

19 голосов
/ 02 августа 2008

Любые сборки, которые должны быть в GAC, должны оставаться в GAC. Это включает в себя System.web.dll или любые другие сторонние DLL, которые вы будете развертывать в GAC в рабочей среде. Это означает, что новый разработчик должен будет установить эти сборки.

Все другие сторонние сборки должны быть ссылками через относительный путь. Моя типичная структура:

-Project
--Project.sln
--References
---StructureMap.dll
---NUnit.dll
---System.Web.Mvc.dll
--Project.Web
---Project.Web.Proj
---Project.Web.Proj files
--Project
---Project.Proj
---Project.Proj files

Project.Web и Project ссылаются на сборки в корневой папке / References. Эти DLL-файлы проверяются на подрывную деятельность.

Кроме этого, * / bin * / bin / * obj должен быть в вашем глобальном пути игнорирования.

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

4 голосов
/ 11 сентября 2008

Tree Surgeon - отличный инструмент для создания пустого дерева разработки .NET. Он был изменен за многие годы использования и реализует множество лучших практик.

4 голосов
/ 02 августа 2008

Это специфический вопрос .Net?

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

Если каталог bin, на который вы ссылаетесь, содержит сторонние двоичные файлы, а не сборку вашего проекта, игнорируйте (downvote?) Этот совет.

2 голосов
/ 02 августа 2008

Maven очень помогает с этой проблемой, когда я пишу Java. Мы передаем файл pom.xml в scs, а репозиторий maven содержит все наши зависимости. Для меня это кажется хорошим способом сделать это.

1 голос
/ 14 августа 2008

Мы придерживаемся практики использования каталога поставщиков, который содержит все специфичные для поставщика заголовки и двоичные файлы. Цель состоит в том, чтобы любой мог создать продукт, просто проверив его и запустив скрипт сборки верхнего уровня.

...