VS2008からVS2010にアップグレード中ですが、クリーンアップを行いたいと思っています。私の主なソリューションでは、フラットなファイルスペースに20ほどのプロジェクトがあります。ただし、プロジェクトにはグループ化があり(一部のライブラリ、一部のクライアントプログラム、一部のテストプログラムなど)、プロジェクトの物理ディスクレイアウトを適切な方法で再編成したいと思いました。さらに、ソース管理はVSS(1)であるため、そのファイル構造を物理ディスク構造と整合させ、全体的なファイル履歴を保持したいと考えています。
では、これを行うためにどのような種類のツールが利用できますか?それとも、ソリューションを細かく切り分けて、目的の場所に再組み立てしたほうがいいですか?
ソリューションの最適なレイアウトについて説明しているSOの質問がいくつかありますが、AからBに移動する方法を説明しているものはありません。
VisualStudioで大規模なプロジェクトをリファクタリングする方法
VisualStudioのディスク上のプロジェクトレイアウト
たとえば、「A」から行きたい
Solution
|
|-Project1
|-Project2
|-Project3
|-Project4
「B」へ
Solution
|
|-Group1
| |
| |-Project1
| |-Project2
|
|-Group2
|
|-Project3
|-Project4
アップデート1
「Group1」と「Group2」のソリューションフォルダーを作成し、プロジェクトを各フォルダーの下の新しい場所にドラッグするという明白な方法を試したことは言うまでもありません。これは、VS2010内でプロジェクトの論理的な編成を作成する場合にうまく機能しますが、ディスク上のプロジェクトの物理的な場所を変更することはありません。
アップデート2
ソリューションからプロジェクトを削除し、物理的にディスク上に移動してから、ソリューションフォルダーの下に追加してみました。これにより、ディスク上での再配置が実現しますが、VS2010がVSSで新しいプロジェクト構造を構築するのではなく、プロジェクトは元々VSSにあった場所を記憶し、それらのファイルとリンクしました。
アップデート3
少し考えてみたところ、VS2010でプロジェクトを移動した後、VSSプロジェクトを物理ディスクレイアウトに再調整する方法がもっと求められていることに気付きました。これを修正するには、VSSプロジェクトのレイアウトとVS2010プロジェクトの内部の両方を変更する必要があります。そこで、タグと質問の見出しを更新しました。
アップデート4-私の手動ソリューション
さて、私は物事を動かすための非常に手動で集中的な方法を考え出しました:
VS2010ソリューションからプロジェクトを削除します
ディスク上の新しい場所に移動します
プロジェクトからすべてのVSS関連ファイルを削除します
テキストエディタでプロジェクトファイルを開き、VSS関連のすべてのエントリを削除します(すべて「Scc」で始まります)。
プロジェクトをソリューションに追加し直し、プロジェクト参照へのプロジェクトを再確立します
ソリューションとプロジェクトをVSSに戻し、VS2010を閉じます。
VSSを開き、VSSの新しいプロジェクトの場所からコードのみのファイルを削除します
VSSの古い場所からファイルを共有する
VSSの古い場所からファイルを削除します
VSSの古いプロジェクトの場所を削除します
これはこれを行うための最良の/唯一の方法ですか?
(1)はい私は知っています-VSS。しかし、私が使用しているコンテキストでは、それは完全に正常に機能し、足を間違えたことはありません。他のオプションを検討している間、今は変更するつもりはありません。したがって、ソース管理の次善の策にどのように移行すべきかについてのコメントはありません。それでもハックルが上がらない場合は、これはどうでしょうか。実際には、VSSをバックエンドのバージョン管理データストアとして使用する、現在利用可能でアクティブにサポートされている商用製品を使用しています。