如果之前有人问过这个问题,我会道歉,但我一直无法找到我要找的信息。
我正在开发一个大型C#解决方案,该解决方案包含与另外两个解决方案共享的许多组件。 我的目标是将整个内容检查到SVN服务器,但我不确定最好的方法。
当我在Java开发团队工作时,我们使用SVN服务器和Maven来处理构建,因此我们的项目完全是模块化的。 每个项目都作为一个单独的实体检入SVN,Maven处理了编译工件的检索,一切都很顺利。
我想使用VS 2013在C#中复制这种策略,但除了将解决方案的每个项目都签入自己的SVN项目之外,我还不确定如何解决这个问题。
这不是问题,但我们还有其他2个解决方案,它们使用我们主要解决方案中包含的项目。
如果我要检查整个解决方案(因为我希望解决方案文件本身受版本控制),SVN结帐/签入可能变得相当复杂和笨拙。 如果我从解决方案目录中签入单个项目,我将需要提出一个svnignore策略,该策略将阻止解决方案目录中包含的项目再次签入SVN。
在这种情况下,SVN不会用于团队开发,但是为了处理合并和存储已完成的标签,因此将在我的机器上本地运行。
我正在考虑将TFS作为替代方案,但没有经验,所以我不确定它是否可以这样使用。
有人可以建议我的提议方法是否真的可以用于使用SVN的VS项目,或者TFS是否是更好的选择?
我很乐意使用完全不同的源代码控制解决方案,但是我不太倾向于使用GIT。对于我们想要的用途,更传统的客户端/服务器方法可以更好地满足需求,并且GIT所需的重新学习时间目前无法实现。
如果有人可以指点我这个主题的其他帖子/指南/现有的推荐,我将不胜感激。
非常感谢。
答案 0 :(得分:0)
你可以通过TFS实现它。需要检查整个解决方案(全部在源代码管理中)并使用本地工作区,获取本地映射的文件。对于VS,所有源代码都是本地的,就像在本地开发环境中一样。您只需编辑代码,检入服务器,解决冲突,获取最新版本。您甚至不需要手动检查解决方案(对于TFS中的本地工作区,将自动检出文件)。
项目的树状视图如下。
-Your project
-solution1
-solution2
-Main solution
-common folder(which put the shared components)
您只需添加与三种解决方案关联的公共文件夹即可。签入时,公共文件夹中的每个更改也会因其他三个解决方案而出现缺陷。