我正在从VS2008升级到VS2010,我想做一些清理工作。我的主要解决方案在一个平面文件空间中有20个左右的项目。但是对项目(一些库、一些客户机程序、一些测试程序等)有一个分组,我希望以适当的方式重新组织项目的物理磁盘布局。另外,我的源代码控制是vss(1),所以我希望保持其文件结构与物理磁盘结构一致,并保持整个文件历史记录。
那么,什么样的工具可以做到这一点呢?还是我最好把解决方案切碎并重新组装到所需的位置?
有几个这样的问题可以讨论解决方案的最佳布局,但我没有看到一个问题可以告诉您如何从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作为后端,对数据存储进行版本控制!