web-dev-qa-db-ja.com

Visual Studioプロジェクト(.sln)ファイルを再配置する方法

Visual Studioソリューション(myProject.sln)ファイルをフォルダーに移動したいと思います。

これを行う際の問題は、プロジェクト内のすべての相対パスが壊れることです。プロジェクト内のすべての相対パスを手動で更新せずにプロジェクトを再配置するにはどうすればよいですか?

ありがとう。

45
Brock Woolf

ソリューションエクスプローラーでソリューションをクリックし、[ファイル]メニューの[myProject.slnに名前を付けて保存]をクリックするだけです。これにより、参照を壊すことなく、選択したフォルダに.slnが保存されます。

80
El Cheicon

Jrummellソリューションを完了するには:* .slnファイルをnodepaddで編集した後、非推奨のキャッシュを含む* .suoファイルを削除する必要があります。

* .suoファイルはWindows 7の隠しファイルであることに注意してください(デフォルトでは、エクスプローラーには表示されません)。

4

メモ帳または同様の.slnファイルを開きます。上部近くに相対ベースパスがあります。必要に応じて変更してください。

4
savageguy

ソース管理では、これは少しトリッキーです。ソース管理の履歴を維持しながら簡単にアクセスできるように、ソリューションの.slnファイルを1レベル上に移動するだけで済みました。以前の投稿のアドバイスに従いましたが、TFSがソリューションを使用してすべてのプロジェクトを移動したいという状況に遭遇しました。このタスクは、次の手順と組み合わせて使用​​して行いました。

  1. ソリューションが開いていないことを確認してください。
  2. ローカルドライブからソリューションをマップ解除します。
  3. ソースコントロールエクスプローラーで[ソリューション(.sln)]を右クリックし、上記の[移動]を選択します。新しいフォルダのパスを設定し、[OK]を選択します。
  4. その変更をチェックインします。
  5. ソリューション_.sln_をチェックアウトし、メモ帳でソリューションを編集します。プロジェクトにGUIDが割り当てられ、プロジェクトへのファイルパスがあることがわかります。新しいソリューションファイル_.sln_が存在する場所からの相対パスをすべて変更する必要があります。一意の名前とパスには必ず二重スラッシュを使用してください。

GlobalSection(TeamFoundationVersionControl) = preSolution

_SccProjectUniqueName1 = MyNewFolder\\MyProject.Common\\MyProject.Common.csproj_

_SccProjectTopLevelParentUniqueName1 = MySolution.sln_

_SccProjectName1 = MyNewfolder/MyProject.Common 
SccLocalPath1 = MyNewFolder\\MyProject.Common
_

チェックインし、ソリューションをローカルドライブに再マップします。これでうまくいきました。それが役に立てば幸い!

3
Law

テキストエディタで各プロジェクトへの相対パスを更新できます。

0
jrummell