在我的部门中,我们正在为某些统一通信服务器开发几个较小的插件。对于版本控制和分布式开发,我们使用Team Foundation Server 2012。
但是:对于我们所有的应用程序和库,只有一个大型TFS解决方案:
- 主要解决方案
- 应用领域
- 应用程式1
- 应用程式2
- 应用程式3
- 外在
- 图书馆
- 库1
- 库2
- 工具类
- 应用领域
“应用程序”路径包含所有主要应用程序。它们并不相互依赖,但是取决于库和外部项目。
“外部”路径包含一些在我们的应用程序和库中引用的外部DLL。
库路径包含常用的库(UI模板,Helper类等)。它们彼此不依赖,并且在“库”和“工具”项目中被引用。
工具路径包含一些帮助程序,例如设置帮助程序,更新Web服务等。
现在,有一些要点为什么我想更改这种结构:
- 我们不能使用服务器版本。
- 用这样的解决方案结构来管理带有冲刺,障碍等的TFS Scrum管理是不舒服的。
- 每个开发人员始终可以访问解决方案中的所有项目。
- 如果在Visual Studio中意外击中[F6],则完整的构建会持续太长时间。
您将在此解决方案中进行哪些更改?您如何将这些项目分解为较小的解决方案,应如何构建这些解决方案。
我的第一种方法是为每个应用程序,库和工具创建一个TFS项目。但是,如何确保例如App 2始终包含Lib 1的最新版本?我需要监视库1的更改并在库更改后立即手动更新App 2吗?还是可以以某种方式强制Visual Studio始终以某种方式使用外部项目的最新版本?
编辑:在TFS上,只有一个TFS团队项目集合,其中包含一个TFS团队项目。团队项目包含一个大型的Visual Studio解决方案,其中包含几个包含(请参见上面的结构)的文件夹,每个文件夹都包含多个VS项目。
我的问题是,现在您将如何重组:
- TFS团队项目
- VS项目