Недавно мы перешли к ссылкам на проекты для всех наших решений, которые управляются на сервере TFS, и мы используем Visual Studio 2013. Наше дерево решений Dev выглядит примерно так -
- Main Solution A(Solution)
Core1 Client Library(Project reference)
Core2 Client Library(Project reference)
Core3 Client Library(Project reference)
....
- Main Solution B(Solution)
Core2 Client Library(Project reference)
Core3 Client Library(Project reference)
Core4 Client Library(Project reference)
....
- Core1 Project (Solution)
Client Library (Project that references all other projects in this solution)
Project1 (Project)
Project2 (Project)
Project3 (Project)
- Core2 Project (Solution)
Client Library (Project that references all other projects in this solution)
Project1 (Project)
Project2 (Project)
Project3 (Project)
...
Каждый раз, когда мы хотим начать работать над большим обновлением некоторых основных функций, у нас есть 2 варианта: либо работать над веткой dev каждого решения и рискнуть его сломать, либо переходить на каждое решение, которое будет изменено, и изменить все ссылки в каждом разветвленном решении для работы с другими разветвленными проектами .
Например, для добавления функциональности в основное решение B требуется ветвление Основное решение B, Ветвление Core2 + Core3 + Core4 и изменение всех ссылок на проекты в этих новых ветвях на другие новые ветви.
Это занимает очень много времени для каждого рабочего элемента, и мы чувствуем, что есть более умный способ сделать что-то, но не можем понять это. Есть идеи?