如何将项目添加到源代码管理中已有的解决方案中?

时间:2014-12-14 12:40:33

标签: c# tfs

我在TFS中有两个C#项目,我想将它们添加到另一个解决方案中(也就是在TFS中),如何做到这一点?

试图检查这些项目并打开目标解决方案>点击"添加" > "现有项目"但VS并不认识这些项目,因为它们属于源代码管理。

我现在需要的是: 1)获取已在Source控件中的2个项目的副本 2)将它们添加到我的解决方案中 3)对这些项目进行更改 4)签到更改而不影响原始版本

3 个答案:

答案 0 :(得分:1)

让我们将您的两个项目称为framework。您应该分支您的框架,然后将您的新解决方案链接到适当的分支。

  1. 科。
  2. 在Visual Studio的团队资源管理器中,浏览您的代码集

    enter image description here

    然后右键单击您的框架源根文件夹并选择“分支”。 enter image description here

    然后检查你的新分支。

    1. 链接 在新的解决方案中,单击“添加现有项目...”,然后从刚刚创建的分支中选择项目。
    2. 分支代码基本上是框架源代码的完整副本。但是这个副本在逻辑上与原始副本相关联(对于TFS系统)。更改分支时,原始文件中不会更改任何内容,但如果愿意,可以合并选定的变更集。

      1. 文件夹结构
      2. 如何构建TFS集合有很多可能性。我的建议是将您的主要开发框架代码保存在Trunk文件夹中,并在同一级别拥有包含其中所有版本的Branches文件夹。在上面的图片中,只有一个分支(根据我的项目的发布版本命名,如果需要,可以进行热修复,但这只是一个例子)。

        1. 合并
        2. 然后,如果您希望从分支到主干,您可以合并更改(没有义务,只是为了避免手动错误的代码复制)。

          documentation is here

答案 1 :(得分:1)

在不同解决方案之间共享代码是一种应该避免的模式。

如果您在多个解决方案中需要两个项目,则应该独立构建和版本化。

1)将两个项目拆分为新的解决方案和文件夹结构。 2)构建和版本两个共享程序集 3)将两个程序集打包为Nuget包并存储在网络共享或ProGet服务器上 4)更改其他两个解决方案的引用以使用新的Nuget包 5)创建自动构建以在更改代码时刷新Nuget包。

然后,您有一个共享组件,您可以进行有意更改并部署到您的共享位置。每个采用依赖关系的解决方案都会在代码更改时通知您。

答案 2 :(得分:-1)

如果你想拥有两个独立的项目副本,那么Askolein解决方案是你最好的选择。 但是,如果你想从许多不同的解决方案中引用相同的项目,那么我认为以下内容应该有效(你已经列出了一些):

  • 在工作区地图和下载目录中,其中包含两个解决方案的所有项目和位置。因此,对于项目的现有解决方案$ / tp1 / solution1 / proj1和新解决方案的$ / tp1 / solution2,您有$ / tp1 / solution1,那么您映射$ / tp1并最好下载其下的所有文件
  • 现在打开solution2(您要更改的那个)并单击Add-> Existing project。您应该能够选择本地磁盘上存在的项目。您可能需要“添加解决方案到源代码管理”才能添加解决方案文件。但是,项目已经在TFS中,并且您的所有操作都不应更改其内容(项目可能在许多不同的解决方案中)
祝你好运!