Visual Studio 2008/TFS 2008 を使用しています。
私たちには小さな開発者チームがあり、何らかの理由で定期的に、誰かが「最新のものを入手」すると、パスの 1 つが別のパスに自動的に再マップされます。これにより、パスが変更されたため、「Get Latest」がファイルの削除を開始します。間違ったパスに再マップされるたびに同じパスになります。
- ワークスペース定義はどこに保存されますか?
- これを引き起こしている TFS にチェックインした可能性のあるものはありますか?
ソリューションを開いたときに、これが発生しました。ソリューションに、そのフォルダーの下にない他のプロジェクトへの相対パスが含まれており、それらがワークスペースで異なる方法でマップされている場合、GET はそれを考慮して再マップしていることを通知します。問題は、それが行う決定が完全に間違っていることです。
これを回避する唯一の方法は、すべての開発者が sourcec コントロールが使用する同じ構造を使用し、各ワークスペースで表現される havev を使用するようにすることでした。
しかし、そこに着くのは苦痛でした。基本的に、誰もがすべてのファイルのすべてのローカル コピーを削除し、ワークスペースをやり直し、ワークスペースが変更されたときに「取得」を選択せず、VS を閉じ、開いて、最新のものを取得する必要がありました。
その理由は、プロジェクトのコピーがローカルに存在する場合、それらのプロジェクトが開かれていない場合でも、GET が間違っているためです。最新のプロジェクトの違いをチェックしても変化はありませんでしたが、そのプロジェクトを含むソリューションを開くと、そのプロジェクトの dll 参照が自動的に変更されるため、これはイライラしました。その時点で、どのファイルにも保留中の変更はありません。しかし、変更を構築した後、変更が持続し、次の取得が再びオフになります...
これはすべて間違っていると確信していますが、それが今週私たちに起こったことです。
ワークスペースのキャッシュをクリアして再マップすることもできます。
SET AppDataTF=%USERPROFILE%\Local Settings\Application Data\Microsoft\Team Foundation SET AppDataVS=%APPDATA%\Microsoft\VisualStudio IF EXIST "%AppDataTF%\1.0\Cache" rd /s /q "%AppDataTF%\1.0\Cache" > NUL IF EXIST "%AppDataTF%\2.0\Cache" rd /s /q "%AppDataTF%\2.0\Cache" > NUL IF EXIST "%AppDataVS%\8.0\Team Explorer" rd /s /q "%AppDataVS%\8.0\Team Explorer" > NUL IF EXIST "%AppDataVS%\9.0\Team Explorer" rd /s /q "%AppDataVS%\9.0\Team Explorer" > NUL
はい、分かりました。これが解決策です。
まず、Visual Studio 2008 SP1 をインストールします (VS 2008 と Team Explorer が既にインストールされていると仮定します)。
Visual Studio 2008 を起動し、ソース管理に移動して、ワークスペースを削除します。新しいワークスペースを作成し、ソース管理フォルダーをローカル フォルダーにマッピングします。[OK] をクリックします。「ワークスペースが変更されました。最新のものを取得しますか?」と聞かれるので、いいえを選択します。
Visual Studio 2008 を閉じます。
Visual Studio 2008 を再度開き、ソース管理とGet Specific に移動します (ファイルを上書きするために両方のチェック ボックスをオンにします)。
asp.net Web ベースのソリューションを使用している場合は、ここでアプリケーション プールを作成し、IISで Web サイトを構成し、適切な認証と承認を設定します。それ以外の場合はオプションです。
ソース管理の適切なフォルダーに移動し、ソリューション ファイルをダブルクリックします。ローカル フォルダーのソリューション ファイルをダブルクリックしてソリューションを開くこともできますが、ソース管理からソリューションを開く方が簡単だと思います。
上記の手順を実行すると、Web サイトが構成されている場合、Visual Studio 2008 は、セットアップした Web サイトを自動的に検出し、確認するように求めます。[OK] をクリックします。
ソース管理サーバーに接続して、同期が必要かどうかを確認します。ソリューションに多数のプロジェクトがある場合、ファイル取得の進行状況バーが画面上ですばやく点滅し、ソリューションが数分でセットアップされることがわかります。
本当の問題はVisual Studio 2008 Service Pack 1にあります。これがないと、TFS マッピングが破損します。SP1 がインストールされていて、上記のガイドに従えば問題ありません。
これは正常な動作ではありません。何かがおかしくなっているように聞こえます。確認したいだけです-あなたがしているのは、ソース管理エクスプローラーからの単純な取得だけです? また、皆さんは別のマシンを使用していますか? (つまり、仮想 PC イメージや、複数のマシンが同じ名前を持つものを共有していません)
私がチェックすると思うのは、ファイル、ソース管理、ワークスペースの管理に移動し、取得の前後で作業フォルダーのマッピングを調べて、何かが変更されているかどうかを確認することです。そうすべきではありません - もしそうなら、これは何が起こっているのかについての手がかりを私たちに与えるかもしれません.