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

StackOverflow https://stackoverflow.com/questions/265

  •  08-06-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

Любые ассамблеи, которые, как ожидается, будут находиться в 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-файлы проверяются в Subversion.

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

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top