68

vs.netプロジェクトがあり、リファクタリングを行った後、プロジェクトの名前を変更しました。TFSで制御されたプロジェクトとソリューションの下で、この新しいプロジェクト名と一致するように、基になるWindowsフォルダー名の名前を簡単に変更するにはどうすればよいですか?
注:以前は、SourceSafeを使用してバックグラウンドで物事をいじることで実行できました...

4

6 に答える 6

174
  1. フォルダー内のすべての保留中の変更をチェックインし、他のすべてのチーム メンバーが同じことを行うようにします。
  2. 作業ディレクトリにフォルダーのコピーがあることを確認します (そうでない場合、次の手順でソース管理エクスプローラーでフォルダーの名前を変更するオプションがありません)。まだ持っていない場合は、フォルダーの最新バージョンを取得してコピーを取得します。
  3. ソリューションを閉じます
  4. ソース管理エクスプローラー内でフォルダーの名前を変更します。これにより、ソース管理で追跡されているすべてのファイルが、ファイル システムの元のフォルダーから新しいフォルダーに移動されます。ソース管理によって追跡されていないファイルは元のフォルダーに残ることに注意してください。必要なファイルがそこにないことを確認したら、おそらくこのフォルダーを削除することをお勧めします。
  5. ソリューションを開き、Noソース管理からソリューションに新しく追加されたプロジェクトを取得するよう求められたら、' ' を選択します。ソリューション内のプロジェクトの 1 つを読み込めなかったという警告が表示されます。
  6. ソリューション エクスプローラーでプロジェクトを選択します。

    グレー表示され、 「利用不可」とマークされることに注意してください。

  7. [プロパティ] ペインを開きます。
  8. [ファイル パス]プロパティを直接編集するか、...[ ] ボタンを使用して編集します。

    また、このプロパティはVisual Studio 2010 でのみ編集可能であることに注意してください。新しいバージョンの Visual Studio では、ソリューション ファイル内のプロジェクト パスを手動で編集する必要があります。

  9. ソリューション エクスプローラーでプロジェクトを右クリックし、コンテキスト メニューから[プロジェクトの再読み込み]を選択します。プロジェクトを元のフォルダーから読み込めないというエラー メッセージが表示された場合は、ソリューションを閉じて、ソリューション ファイルと同じフォルダーにある suo ファイルを削除してから、ソリューションを再度開いてみてください。
  10. 変更を単一の変更セットとしてチェックインします。
  11. 他のチーム メンバーにソリューションの「最新バージョンを取得」してもらいます (ソリューション エクスプローラーでソリューションを右クリックし、コンテキスト メニューから [最新バージョンを取得] を選択します)。

注: プロジェクトを削除してからソリューションに再度追加することを含む他の提案されたソリューションは、プロジェクトの参照を壊します。

これらの手順を実行する場合は、次の名前を適切に変更することも検討してください。

  1. プロジェクトファイル
  2. デフォルト/ルート名前空間
  3. 組み立て

また、次のアセンブリ属性の値を変更することも検討してください。

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute
于 2012-06-01T15:50:39.883 に答える
20

TFSでフォルダーを右クリックし、[名前の変更]を選択します。名前の変更をコミットすると、TFSがディスク上の変更を自動的に行います。Kevinが指摘したように、TFSは古いフォルダーとその中のすべてを削除し、名前が変更されたフォルダーに現在のバージョンのファイルが含まれているので、すべてがチェックインされていることを確認する必要があります。

最後の注意:マップしていないフォルダ、または「取得」を行っていないフォルダの名前を変更することはできません。理由はわかりませんが、このような場合、TFSは[名前の変更]オプションを無効にします。

私が正しく覚えていれば、少なくともそれが私に起こったことです。

于 2008-09-08T14:06:23.767 に答える
1

私の特定の構成は、TFS2008に接続するVS2010です。ここで他の解決策をいくつか試しましたが、問題がありました。私は次のことが私のために働いているのを見つけました:-

  1. ソリューションから名前を変更するフォルダー内のプロジェクトを削除します
  2. ソリューションを保存
  3. TFSソース管理で削除されたプロジェクトを含むフォルダーの名前を変更します(これにより、ハードディスク上でローカルに名前が変更されます)
  4. 新しい場所からソリューションにプロジェクトを追加し直します
  5. ソリューションを保存
  6. ソース管理にコミットする

これで、フォルダーの名前が変更され、ソリューションの再マップがすべて1つのチェンジセットでコミットされます。

于 2011-09-01T16:45:23.060 に答える
1

TFSでプロジェクト(.Xprojファイルとプロジェクトフォルダー)の名前を変更し、ローカルフォルダー構造とそのすべてのコンテンツを削除してから、プロジェクトの最新情報を取得するだけです。これはすべて、ソースリポジトリが完全に最新でコンパイル可能であるという概念に依存します。

于 2008-09-08T04:09:17.447 に答える
1

TFSを使用したVisual Studio 2008でうまくいった手順は次のとおりです。

  1. ソリューションを閉じます。
  2. ソース管理エクスプローラーでプロジェクト フォルダーの名前を変更します (右クリック -> 名前の変更)。これにより、新しい名前のフォルダーにコードが複製されます。
  3. ソリューションを開き、ソリューション エクスプローラーで古いフォルダー/プロジェクトを削除し、適切な名前の新しい重複を追加します (古いプロジェクトで右クリック -> 削除し、ソリューションで右クリック -> 追加 ->既存のプロジェクト...)

または: 手順 2 の後、ソリューションの .sln ファイルをテキスト エディターで開き、プロジェクト フォルダー名を手動で更新できます。これを行う場合、.sln ファイルを手動でチェックアウトして、変更が確実にチェックインされるようにする必要がある場合があります (<- 重要!)。

于 2008-12-18T21:18:01.353 に答える