1

我正在从 VS2008 升级到 VS2010 并想做一些清理工作。我的主要解决方案在一个平面文件空间中有 20 个左右的项目。然而,项目有一个分组(一些库、一些客户端程序、一些测试程序等),我想以适当的方式重新组织项目的物理磁盘布局。此外,我的源代码控制是 VSS(1),所以我想保持其文件结构与物理磁盘结构保持一致并保持整体文件历史记录。

那么有哪些工具可以做到这一点呢?还是我最好将解决方案切割成碎片并将其重新组装在所需的位置?

有一些关于解决方案的最佳布局的 SO 问题,但我所见过的没有一个能告诉您如何从 A 到 B

如何在 Visual Studio 中重构大型项目

Visual Studio 中磁盘上的项目布局

例如我想从“A”开始

Solution
  |
  |-Project1
  |-Project2
  |-Project3
  |-Project4

对“B”

Solution
  |
  |-Group1
  |   |
  |   |-Project1
  |   |-Project2
  |
  |-Group2
      |
      |-Project3
      |-Project4

更新 1

我应该提到我尝试了为“Group1”和“Group2”创建解决方案文件夹的明显方法,然后将项目拖到每个文件夹下的新位置。这适用于在 VS2010 中创建项目的逻辑组织,但不会更改项目在磁盘上的物理位置。

更新 2

我尝试从解决方案中删除一个项目,将其物理移动到磁盘上,然后将其添加到解决方案文件夹下。这实现了磁盘上的重定位,但是项目记住了它最初在 VSS 中的位置并与那些文件链接起来,而不是 VS2010 在 VSS 中构建新的项目结构

更新 3

经过一番思考,我意识到我所要求的更多是在我在 VS2010 中移动项目后如何将 VSS 项目与物理磁盘布局重新对齐。解决这个问题需要修改 VSS 项目布局和 VS2010 项目内部。所以我更新了标签和问题标题。

更新 4 - 我的手动解决方案

好的,所以我制定了一种非常手动的方法来移动东西:

  1. 从VS2010解决方案中删除项目

  2. 将其移动到磁盘上的新位置

  3. 从项目中删除所有与 VSS 相关的文件

  4. 在文本编辑器中打开项目文件并删除所有与 VSS 相关的条目(所有以 "Scc" 开头的条目)

  5. 将项目重新添加到解决方案中,并将任何项目重新建立到项目引用中

  6. 将解决方案和项目检查回VSS并关闭VS2010

  7. 打开 VSS 并从 VSS 中的新项目位置删除仅代码文件

  8. 从 VSS 中的旧位置共享文件

  9. 从 VSS 中的旧位置删除文件

  10. 删除 VSS 中的旧项目位置

这是最好/唯一的方法吗?

(1) 是的,我知道 - VSS。然而,在我使用它的情况下,它工作得非常好,而且我没有让它出错,虽然我已经探索了其他选项,但我现在不打算改变。所以,请不要评论我应该如何转移到源代码控制中的下一个最好的东西。如果这还不能解决你的问题,那么这个怎么样:我实际上使用了一个当前可用且受到积极支持的商业产品,它使用 VSS 作为后端、版本控制数据存储!

4

1 回答 1

0

听起来你大部分时间都在那里。您可以在文本编辑器中打开 .sln 文件,然后手动更改 .(vs|cs)proj 文件的路径。这应该允许您使用所需的结构。

于 2010-07-02T16:32:44.600 回答