SV#项目的C#解决方案

时间:2015-11-30 12:07:03

标签: c# visual-studio svn tfs

如果之前有人问过这个问题,我会道歉,但我一直无法找到我要找的信息。

我正在开发一个大型C#解决方案,该解决方案包含与另外两个解决方案共享的许多组件。 我的目标是将整个内容检查到SVN服务器,但我不确定最好的方法。

当我在Java开发团队工作时,我们使用SVN服务器和Maven来处理构建,因此我们的项目完全是模块化的。 每个项目都作为一个单独的实体检入SVN,Maven处理了编译工件的检索,一切都很顺利。

我想使用VS 2013在C#中复制这种策略,但除了将解决方案的每个项目都签入自己的SVN项目之外,我还不确定如何解决这个问题。

这不是问题,但我们还有其他2个解决方案,它们使用我们主要解决方案中包含的项目。

如果我要检查整个解决方案(因为我希望解决方案文件本身受版本控制),SVN结帐/签入可能变得相当复杂和笨拙。 如果我从解决方案目录中签入单个项目,我将需要提出一个svnignore策略,该策略将阻止解决方案目录中包含的项目再次签入SVN。

在这种情况下,SVN不会用于团队开发,但是为了处理合并和存储已完成的标签,因此将在我的机器上本地运行。

我正在考虑将TFS作为替代方案,但没有经验,所以我不确定它是否可以这样使用。

有人可以建议我的提议方法是否真的可以用于使用SVN的VS项目,或者TFS是否是更好的选择?

我很乐意使用完全不同的源代码控制解决方案,但是我不太倾向于使用GIT。对于我们想要的用途,更传统的客户端/服务器方法可以更好地满足需求,并且GIT所需的重新学习时间目前无法实现。

如果有人可以指点我这个主题的其他帖子/指南/现有的推荐,我将不胜感激。

非常感谢。

1 个答案:

答案 0 :(得分:0)

你可以通过TFS实现它。需要检查整个解决方案(全部在源代码管理中)并使用本地工作区,获取本地映射的文件。对于VS,所有源代码都是本地的,就像在本地开发环境中一样。您只需编辑代码,检入服务器,解决冲突,获取最新版本。您甚至不需要手动检查解决方案(对于TFS中的本地工作区,将自动检出文件)。

项目的树状视图如下。

 -Your project
    -solution1
    -solution2
    -Main solution
    -common folder(which put the shared components)

您只需添加与三种解决方案关联的公共文件夹即可。签入时,公共文件夹中的每个更改也会因其他三个解决方案而出现缺陷。