【发布时间】:2012-08-07 03:55:18
【问题描述】:
我正在从 VS2008 升级到 VS2010 并想做一些清理工作。我的主要解决方案在一个平面文件空间中有 20 个左右的项目。但是,项目有一个分组(一些库、一些客户端程序、一些测试程序等),我想以适当的方式重新组织项目的物理磁盘布局。此外,我的源代码控制是 VSS(1),因此我希望保持其文件结构与物理磁盘结构保持一致,并保持整体文件历史记录。
那么有哪些工具可以做到这一点呢?还是我最好将解决方案切割成碎片并在所需位置重新组装?
有一些关于解决方案的最佳布局的 SO 问题,但我所见过的没有一个可以告诉您如何从 A 到 B
How to refactor large projects in visual studio
Project layout on disk in 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 - 我的手动解决方案
好的,所以我制定了一个非常手动的方法来移动东西:
从 VS2010 中删除项目 解决方案
将其移至磁盘上的新位置
从项目中删除所有VSS相关文件
在文本编辑器中打开项目文件并删除所有与 VSS 相关的条目(所有以“Scc”开头的条目)
将项目重新添加到解决方案中并重新建立任何项目到项目引用
将解决方案和项目重新检查到 VSS 并关闭 VS2010
打开 VSS 并从 VSS 中的新项目位置删除仅代码文件
在 VSS 中的旧位置共享文件
从 VSS 中的旧位置删除文件
删除 VSS 中的旧项目位置
这是最好/唯一的方法吗?
(1) 是的,我知道 - VSS。然而,在我使用它的情况下,它工作得非常好,而且我没有让它出错,虽然我已经探索了其他选项,但我现在不打算改变。所以,请不要告诉我应该如何转移到源代码控制中的下一个最好的东西。如果这还不能解决您的问题,那么如何:我实际上使用了一个当前可用且受到积极支持的商业产品,它使用 VSS 作为后端、版本控制数据存储!
【问题讨论】:
标签: visual-studio-2010 project visual-sourcesafe solution