C# 在活动项目中更改TFS解决方案中的结构?

C# 在活动项目中更改TFS解决方案中的结构?,c#,.net,visual-studio,tfs,projects-and-solutions,C#,.net,Visual Studio,Tfs,Projects And Solutions,我们有一个包含大约30个项目的解决方案,这些项目在给定的目录结构(在解决方案中)中被ogranized。然而,在文件系统上,这些项目分布在各个地方,所以现在我需要清理一下。但是,这有几个问题: 如果我在文件系统上移动一个项目,它将在解决方案中不可用,要解决这个问题,我必须删除该项目,然后将现有项目添加到解决方案中。我不确定这将如何影响TFS的历史,大多数不会丢失 有人在这些项目上工作,如果他们在入住时搬家,可能会有大问题 那么,我如何解决这些变化而不使解决方案中的任何其他开发停滞呢?我必须做同样

我们有一个包含大约30个项目的解决方案,这些项目在给定的目录结构(在解决方案中)中被ogranized。然而,在文件系统上,这些项目分布在各个地方,所以现在我需要清理一下。但是,这有几个问题:

  • 如果我在文件系统上移动一个项目,它将在解决方案中不可用,要解决这个问题,我必须删除该项目,然后将现有项目添加到解决方案中。我不确定这将如何影响TFS的历史,大多数不会丢失
  • 有人在这些项目上工作,如果他们在入住时搬家,可能会有大问题

  • 那么,我如何解决这些变化而不使解决方案中的任何其他开发停滞呢?

    我必须做同样的事情。 我们的解决方案的组织方式如下:

    TeamProject
        App1
            DevFolder (contains branches of BranchTest)
                BranchOfDev1
                BranchOfDev2
                BranchOfDev3
                BranchOfDev4
            TestFolder
                BranchTest
            ProdFolder (contains branches of BranchTest)
                BranchProdV1
                BranchProdV2
                BranchProdV3
        App2
            Dev...
            Test...
            Prod...
        ...
    
    • 这只是一个解决方案,它依赖于其他文件夹/分支等中的现有项目
    • 一切都从TestBranch分支。开发人员合并到测试中,产品版本从测试中分支出来
    • TestBranch包含应用程序的最新版本
    • 开发人员只在他们自己的开发分支中开发,完成后,他们合并到TestBranch
    我是这样做的:

    TeamProject
        App1
            DevFolder (contains branches of BranchTest)
                BranchOfDev1
                BranchOfDev2
                BranchOfDev3
                BranchOfDev4
            TestFolder
                BranchTest
            ProdFolder (contains branches of BranchTest)
                BranchProdV1
                BranchProdV2
                BranchProdV3
        App2
            Dev...
            Test...
            Prod...
        ...
    
    • 在TFS中创建新的团队项目
    • 根据现有结构创建新结构(分支概念正常)
    • 停止。每个人都必须合并到TestBranch中

    • 有一次将TestBranch移动到新位置

    • 也移动了所有依赖项
    • 用新的依赖项位置手动编辑.sln,请检查(回答您的问题)
    • 删除所有devbranche
    • 在新结构中创建新的devbranche
    • 每个人都会删除他们的本地工作区,从新团队项目中重新下载

    • 隐藏旧文件夹。如果要保留历史记录,请不要删除它们

    • 现在每个人都应该高兴了


    编辑:我们现在正在为所有外部和公共依赖项创建nuget包。通过这种方式,将来我们将能够更新核心/依赖项,而不会破坏使用早期版本的任何内容。

    您需要快速完成,或者至少每个操作都应该快速完成

    如果需要将项目移动到正确的位置,则应:

  • 通知所有开发人员您正在移动项目,不要签出
  • 移动项目文件夹
  • 在记事本中打开解决方案文件,并将位置参照更改为项目
  • 保存并签入
  • 指示所有其他用户获取最新信息

  • 每一步都要这样做,慢慢地过几天,你应该会很好。大爆炸式的移动也是可能的,但如果您有50名开发人员,那么成本会很高。

    您使用的是哪个TFS版本和Visual Studio版本?