Лучшая практика: среда для совместной работы, Bin Directory, SVN

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

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

Конечная цель (конечно) состоит в том, чтобы иметь новый разработчик, извлекающий ствол из SVN, восстановить базу данных DNN и заставить все это просто "работать"...

5 ответов

Решение

Любые сборки, которые должны быть в 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 (так должно работать на всех компьютерах), либо относительно каждого проекта в вашем решении.

Это конкретный вопрос.Net?

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

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

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

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

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

Другие вопросы по тегам