SVN项目的C#解决方案

本文关键字:解决方案 项目 SVN | 更新日期: 2023-09-27 18:25:12

如果之前有人问我这个问题,我很抱歉,但我找不到我要找的信息。

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

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

我想使用VS2013在C#中复制这种策略,但除了将解决方案的每个项目都检入到自己的SVN项目中之外,我不确定如何做到这一点。

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

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

本例中的SVN不会用于团队开发,而是用于处理合并和存储最终标记,因此将在我的机器上本地运行。

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

有人能告诉我,我提出的方法是否真的可以用于使用SVN的VS项目,或者TFS是否是一个更好的选择吗?

我很乐意使用完全不同的源代码管理解决方案,但我不太倾向于使用GIT。对于我们打算的用途,更传统的客户端/服务器方法将更好地满足需求,而GIT所需的重新学习时间目前无法幸免。

如果有人能向我介绍这个主题的其他帖子/指南/现有广告,我将不胜感激。

非常感谢。

SVN项目的C#解决方案

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

项目的树状视图如下。

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

您只需要添加与这三个解决方案相关联的公用文件夹。当签入时,公用文件夹中的每一个更改都会与其他三个解决方案一起出现缺陷。