TFSワークスペースマッピングを削除する方法


135

チームプロジェクト内のtfsにプロジェクトがあり、そのプロジェクトを別のチームプロジェクトの別の場所に移動しました。

チームプロジェクトに接続してソリューションをビルドするようにJenkinsを構成しましたが、新しいtfsチームプロジェクトに接続するように設定を変更すると、次のエラーが発生します。

[workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain-eg.net:8080/tfs/oldteamproject].

上記は既存のワークスペースがあることを示しているので、以下のコマンドを実行してそれを削除しました

tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/oldteamproject

そして、それはワークスペースが削除されたことを促しました、しかし私はまだ同じエラーを得ています。

次のコマンドを実行して、マッピングが削除されているかどうかも確認しました。

tf workspace -server:http://domain-eg.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER

しかし、ワークスペースが期待どおりに存在しないと表示されます。

だから、私はそれをどこかにキャッシュしているのではないかと思って、以下のコマンドを実行しました:

tf workspaces /remove:* /collection:http://domain-eg.net:8080/tfs/oldteamproject

そしてそれは「キャッシュ内のワークスペースは一致しません*サーバーhttp://domain-eg.net:8080/tfs/oldteamprojectから一致します」

だから、キャッシュさえされていないと思います。

では、エラーの原因と解決方法を教えてください。


3
TFSワークスペースには、ユーザーとマシンごとだけでなく、マシンごとに一意の作業フォルダーマッピングが含まれている必要があります。D:\jenkins\jobs\ProjectName1-Build\workspaceテスト中に別のTFSユーザーを含むTFSワークスペースをセットアップすることは可能ですか?
エドワードトムソン

9
ビルドマシン-C:\ Users \ {UserName} \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Cacheからこれを試して、フォルダー内のすべてを削除します
SoftwareCarpenter

同じ問題に遭遇しました。私のケースは、ワークスペース名の最初の空白でした
Daniel Rapaport 2014年

最近、TFSルートを再マップしましたが、同じ問題が発生しました。私の場合は、TFSエクスプローラーがチェックアウトした古い(最後の)パスを「ローカルパス:」に表示しているだけで、グレー表示されており、クリックできません(青)。私は最新のものを取得しました、そしてそれはすべてを正しい新しいマッピングに入れ、そしてパスは青/アクティブになりました。古いマッピングをすべて削除した場合は、最新にした最後のローカルフォルダーが表示されているだけかもしれません。これは、新しいマッピングの下にファイルを置く場所ではありません。
リッチM

回答:


196

VSから:

  1. チームエクスプローラーを開く
  2. ソース管理エクスプローラをクリックします
  3. ツールウィンドウのナビゲーションバーに、「ワークスペース」というラベルの付いたドロップダウンがあります。
  4. それを拡張して、「Workspaces ...」オプションをクリックします(ええ、少し直感的ではありません)
  5. 「ワークスペースの管理」ウィンドウが表示されます。[編集]をクリックすると、ワークスペースを追加/削除/編集できます

ソース管理エクスプローラー

別のマシンのVSから

リモートの登録を編集できるので、VSが登録と同じマシン上にある必要はありません。「ワークスペース...」アイテムを押すと表示されるダイアログに、「リモートワークスペースを表示する」というチェックボックスがあります。チェックボックスをオンにすると、すべての参加リストが表示されます。

リモートワークスペースを表示する

コマンドラインから

開発者のコ​​マンドプロンプトから「tf workspace」を呼び出します。「ワークスペースの管理」を直接表示します!


1
彼はビルドマシンでこれを行っており、おそらくそこにビジュアルスタジオがインストールされていません。
エリックファンケンブッシュ2014年

7
これでうまくいきましたが、TFSが素晴らしいもう1つの理由です。
schmoopy

6
すべてのワークスペースを削除しました。次に、新しく追加しましたが、私のフォルダがすでに(古い/削除された)URL tfsのwrokspaceにマップされているというエラーが発生します。新しいtfs / workspaceにマップできません。M vs vs 2015
Sami

11
動作しません。ワークスペースは何があっても残ります。再起動、再起動vs祈り、かかとを3回クリック...何も...離れません。新規にマップできません...機能しません。
ボーダモーレ

3
これは最高評価の回答ですが、ワークスペースが削除されないシナリオには対応していません(前述のBeauが述べたように)。あなたはそれを削除し、ダイアログを閉じ、再び開き、それは戻ってきます。絶対に狂気。
dapug 2017年

123

私は同じ問題に遭遇しました、そしてここにあるTFSキャッシュ内のすべてのファイルを手動で削除することによってそれを修正することができました:

%LocalAppData%\Microsoft\Team Foundation\3.0\Cache

または4.05.0など


4
おかげで、私の会社がネットワークドメイン名を変更したときにローカルのtfsキャッシュデータが同期していなかったので、これは私にとってはうまくいきました。
dsum 2014年

5
私のためではありません。それはまだ私に語っていますthe path is already mapped in workspace {mypcname};domain\zhasan
SearchForKnowledge

5
私は、\ 4.0 \ Cacheと\ 5.0 \ Cacheを取り除きました。それが誰かを助ける場合。
fooser

1
これも私にとってはうまくいきました。プロのヒント、Cacheフォルダー内のファイルを削除する前に、すべてのファイルとフォルダーをコピーしてバックアップフォルダーに保持してください。それがうまくいかず、TFSを以前の状態に復元する必要がある場合に備えて。
Shiva

Team Foundationクリーンな再同期を実行したい場合は、実際にはすべてを削除できます。
Supersharp '15年

21

TFSからマッピングを削除するには、次の手順に従います。

  1. 開いた team explorer
  2. クリック Source Control
  3. あなたを右クリック project
  4. クリック Remove Mapping

6
マッピングを削除するオプションはありません..フォルダーが古い/削除されたtfs urlの一部のワークスペースに既にマッピングされているというエラーが依然として発生します。Mvs vs 2015
Sami

1
Visual Studio Premium 2013には存在しない
2016年

1
このオプションは、最初にマップされたフォルダーを対象とする場合にのみ使用できると思います。したがって、再帰を使用してチームプロジェクト全体をマップすると、チームプロジェクト全体のマップのみを解除できますが、ソリューションフォルダーのみをマップすると、十分にうまくマップを解除できます。
Jeff

@Samiプロジェクトを右クリックすると、セクションのRemove Mapping下に表示されますAdvanced
Uday

11

エラーは本物です。別のマシンで同じ名前のワークスペースを作成した可能性があります。これで、マシン名が異なるマシンに変更した可能性があります。

だからここに間違いなく動作する回避策があります。

  1. 「Team-Explorer」に移動します
  2. 「ソース管理」に行く
  3. ワークスペースドロップダウンに移動
  4. 「ワークスペース...」をクリックします
  5. ポップアップウィンドウが表示されます
  6. 「リモートワークスペースを表示」をクリックします
  7. 競合しているワークスペースを削除すると、作業を続行できます。

このリンクで質問に答えることができますが、回答の重要な部分をここに含め、参照用のリンクを提供することをお勧めします。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。
alextansc 2015

これでリンクは正常に機能します。ありがとうalextansc
smthakur19

@ smthakur19アレックスが言われたことは、ある日そのリンクが利用できなくなった場合(ウェブサイトのダウン、ページの削除など)、この回答は役に立たなくなります。したがって、参照されているリンクからの重要なテキストとコードを含めて、それをすべての回答に含めると便利です。したがって、回答と質問のソースはどちらもSOになります。
ベイタンカート2015

私の評判は10を下回っているとして、私は、画像を追加することができませんでしたが、、について説明を精緻化
smthakur19

1
リンク切れ、手順は機能しません。ワークスペースは残る
Beau D'Amore

7

以下の手順に従ってください:

Ctrl + Run 

コピーして過去

%LocalAppData%\Microsoft\Team Foundation

異なるバージョンのTFSを取得します。 ここに画像の説明を入力してください

各フォルダをクリックすると、

ここに画像の説明を入力してください

これらのフォルダ内のすべてのデータを削除します。

Visual Studioを再度開きます。

ありがとう。


4

アップデート2019-01-23

コマンドでThe workspace wkspaceEg does not exist…正しいユーザー名(wkspcOwnerDomain\wkspcOwnerUsername)を使用した後でも次のエラーが繰り返し発生する場合はtf workspace、たとえば、

tf workspace "wkspaceEg;wkspcOwnerDomain\wkspcOwnerUsername" /collection:http://tfs.example.com:8080/tfs/collectionEg /login:TFSUsername,TFSPassword

その後、tf workfoldコマンドはそれを修正するのに役立ちます。この質問を見る

それでも機能せず、TFS Sidekicksを使用できない、または使用したくない場合は、以下の危険な最後のオプションに進んでください。


TFS 2012を使用しています。キャッシュフォルダーの削除、ワークスペースのドロップダウンの使用、tf workspaces / remove:*、コントロールパネル、IEからの資格情報の消去など、オンラインで提案されたすべてを試しました。

何も動作しませんでした。ワークスペースが何らかの形で破損したと思います。最後に、TFSデータベースに移動して、次のクエリを実行しました。うまくいきました!もちろん、データベースをいじったり、バックアップを取ったりするときは、十分に注意してください。

データベースはと呼ばれTfs_<<your_TFS_collection_name>>ます。Tfs_ConfigurationMSSQLデータベースを無視します。よくわかりませんが、Tfs_<<your_TFS_collection_name>>データベースがない場合は、設定がデータベースにある可能性がありTfs_DefaultCollectionます。マッピングはに保存されtbl_WorkingFolder.LocalItemます。

/*Find correct workspace*/
SELECT WorkspaceId, *
FROM tbl_Workspace
ORDER BY WorkspaceName

/*View the existing mapping*/
SELECT LocalItem, *
FROM tbl_WorkingFolder
WHERE WorkspaceId = <<WorkspaceId from above>>

/*Update mapping*/
UPDATE tbl_WorkingFolder
SET LocalItem = 'D:\Legacy.00\TFS\Source\Workspaces\teamProjEg' WHERE
/*LocalItem = NULL might work too but I haven't tried it*/
WorkspaceId = <<WorkspaceId from above>>


2

ここでの回答のどれも私のワークスペースを削除しませんでした。しかし、これはあなたのために働くかもしれない1つの解決策です。

  1. Visual Studioコマンドプロンプトを開く
  2. 最初にVisual Studioを閉じるか、削除コマンドでワークスペースが削除されない場合があります
  3. ワークスペースコマンドのリスト-> tf /?TFSのバージョンから使用できるコマンドを検索します。
  4. ワークスペースのリスト-> tfワークスペース
  5. ワークスペースを削除-> tf workspace YourWorkspace / delete

これは、名前が同じでユーザーが異なる2つのワークスペースがある場合(たとえば、通常のアカウントと管理者アカウント)の方法です。他の回答で概説されているように「ワークスペース」ビューを開いた場合、これら2つのワークスペースは2つのスペースとして表示されません。現在のユーザーのワークスペースのみが表示されます。私の場合、それは操作をブロックしていた2番目のワークスペース(管理者アカウント用)でした。この回答で説明されているようにすると、ステップ5で「tf workspace YourWorkspace; HiddenUser / delete」を使用して2番目のワークスペースを削除できます。
H.ブライトクルーツ

2

Cacheフォルダ全体を削除する必要はありません。すべての設定/プリファレンスが失われます 。ワークスペースマッピングは、次のファイルに保存されます。

ユーザーのローカル設定/アプリケーションデータディレクトリにあるVersionControl.config。ここでwindows 7にあります:

%LocalAppData%\ Microsoft \ Team Foundation \ x.0 \ Cache \ Volatile

ここで、x = 3.0、4.0、5.0、6.0など

この中にguidという名前のフォルダーが見つかり、それぞれを開き、前述のファイルを手動で編集して、そのローカルフォルダーからTFSサーバーへのワークスペースマッピング(マップされたパス属性にディレクトリパスが存在します)を削除します(使用されなくなりました) )。


1

最後にすべてのワークスペースを削除し、ゼロから始めました。修繕。


1

Visual Studioを介してTFSサーバーにログインするように求められたため、サーバーへのアクセスに通常必要なSUアカウントを使用しました。これはいくつかの問題を引き起こし、結局別のフォルダにマッピングすることになり、すべてのものを複製しただけだとは気づきませんでした。ある時点で、Visual Studioは通常のユーザーに戻り、保留中の変更を「失い」、新しい保留中の変更が古いマッピングに配置されていることに気付きました。

保留中の変更を回復するために新しい場所(SUアカウントがリンクされている場所)に再マッピングしようとすると、それはすでにSUにマッピングされていると通知され、それはできませんでしたが、地図を削除する方法はありません!リモートワークスペースの表示、コマンドラインからのすべてのワークスペースの削除など、何も明らかにされませんでした。次に、「ドメインではなく、実際に自分のコンピューターの SUユーザーアカウントにリンクされている場合はどうなるか」と考えました。私は自分のSUとしてローカルにログインしましたが、確かに、そのユーザー用に設定されたすべてのワークスペースがありました。マッピングを削除したところ、通常のユーザーに戻って問題なく再マッピングできました。

話の教訓、おそらく別のユーザーが同じマシンにログインしていて、現在ログインしているユーザーからは見えないため、マッピングを削除したり、表示したりすることさえできません。


1

上記の手がかりが役に立たない場合は、Team Foundation Sidekickをダウンロードし、それを使用してワークスペースを削除できます。


1

[ファイル]-> [ソース管理]-> [詳細設定]-> [ワークスペース]-> [ワークスペースの管理]でワークスペースを選択し、[編集]をクリックすると、ローカルフォルダを変更できます。


1

ここでのすべての回答は、すべてのケースで機能するわけではない部分的な回答のようです。適切な権限があれば、この答えはすべてのケースで機能すると思います。

  1. 開発者コマンドプロンプトを開きます。私の場合、VS 2019の開発者コマンドプロンプトでこれをテストしました。
  2. 次のコマンドを入力します。 tf workspaces

結果には、同じ構造のいくつかのテーブルがリストされる場合があることに注意してください。表が1つしかない場合は、他の回答にあるいくつかの仮定が役に立ちます。ただし、2つ以上のテーブルが表示される場合は、そのコレクション文字列が重要です。私たちの例では、2つのコレクションがあると仮定します(2つは4つと同じで、1つは他のコレクションよりも面倒です)。

https://dev.azure.com/foo そして https://bar.visualstudio.com/

運が良ければ、これら2つのうちどちらを使用するかがわかります。ただし、すべてを循環させる必要がある場合は、一度に1つのコレクションを実行するだけで済みます。ここの各「コレクション」は、Azure DevOpsの「組織」と同じです(私はそう思います)。

このコレクションの詳細を使用しない場合、エラーメッセージが表示されることがあります。

ソース管理サーバーを特定できません。

  1. 次に、使用するコレクションに対して次のコマンドを入力します。

tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo

これはあなたが扱っているもののはるかに完全な画像を提供します。同じコンピュータからこのレポにアクセスする複数のMSAアカウントと組織アカウントがある場合、これは特に厄介です。実際、一見同一に見えるエントリが複数ある場合があります。あなたが現在知っていることに基づいてそれらを削除しようとすると、それは動作しない場合があります。しかし、より多くの情報を得ることができます。

  1. 次に、同じコマンドを実行します/format:xmlが、最後に追加します。

tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo /format:xml

これにより、いくつかの追加プロパティを備えた一連のXMLが提供されます。私たちが最も気にする可能性があるのは、所有者エイリアスです。これは、これらのワークスペースを今すぐ確認して削除するために必要な欠落情報です。この追加情報がないと、壁にぶつかってエラーメッセージが表示されるのは簡単です。

ワークスペースを1つ指定します。

  1. これで、必要な情報がすべて揃いました。追加のOwernAliasesエントリを指定して、削除する一意のエントリを選択(または複数の場合は繰り返し)し、次のコマンドを使用します(いくつかの例がリストされています)。

    • tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;Windows Live ID\John.Doe@hotmail.com"
    • tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;John Doe"
    • tf workspace /delete /collection https://dev.azure.com/foo "MyWorkspaceName;2C3E8474-A39C-4785-8794-DC72F09981E6\John.Doe@Example.com"

GUIDはAADディレクトリを識別し、引用符はエイリアスにある可能性のあるスペースを処理するためにあります。「MyWorkspaceName」は、ワークスペースを一覧表示する以前のクエリから取得されます。


この非常に徹底的なアプローチがないと、この質問の他のすべての回答が失敗する可能性があります。これらの取り組みの一部はローカルワークスペースをクリアしますが、競合する可能性のあるサーバーワークスペースはクリアしません。さらに、以前に別のアカウントを使用したことがある場合、MSAアカウントからAADアカウントに切り替えた場合など、状況が悪化する可能性があります。そして、MSAアカウントを持っている場合、物事は本当に毛深いですし、同じワークステーションから使用した同じ電子メールアドレスを持つすべてのAADアカウント。そして、それらのすべてがワークスペースのデフォルト名、つまりコンピュータのホスト名を使用していると、それは非常にクレイジーになります。私の場合、ワークスペース名、所有者名、およびコンピューター名がすべて同じ4つのワークスペースがありました(つまり、XML形式のない最初のクエリには4つの同一のレコードがありました!)。


これよりもこれらを管理するためのよりグラフィカルな方法があるかどうかはわかりません。私は見ましたが、これより良い方法はまだ見つかりません。


0

.slnファイルを編集し、tfsバインディングのGlobalSection要素を削除するだけで、tfsマッピングを削除することもできます。


0

ご協力いただきありがとうございます!

問題ワークスペースを検索 SELECT * FROM tbl_Workspace WHERE WorkspaceName like '%xxxxx%'

目的のワークスペースを検索 SELECT * FROM tbl_Workspace WHERE WorkspaceName like '%zzzzz%'

Edit Top 200 tbl_WorkingFolderを選択し、問題のマッピングを検索します SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = Problem WorkspaceId from above

WorkspaceIdを目的のWorkspaceIdに変更します

最後にプロジェクトエクスプローラーに移動し、プロジェクトで[マッピングの削除]を選択します

VB6 MSSCCPRJ.SCCを変更して、目的のWorkSpaceに一致させます。


0

まずシステムにチームエクスプローラープラグインをダウンロードしてインストールし、次にソース管理エクスプローラーに移動します。ナビゲーションペインで[ワークスペース]フィールドを見つけ、[ワークスペース]オプションをクリックします。[ワークスペース]オプションをクリックすると、マップされているすべてのワークスペースが表示されます。削除ボタンをクリックして、必要なワークスペースのマッピングを削除します。


0

tf workspaces現在のワークスペースマッピングを表示するために実行します。出力は次のようになります。

ここに画像の説明を入力してください

次に実行します tf workspace /delete "{workspace};{user}

上記の出力を使用して、ワークスペースを削除するにはbi

tf workspace /delete bi;James Wierzba


これは私のために働いていません。次のエラーが発生します:引数エラーが発生しました:ワークスペースを削除するには、1つのワークスペース名が必要です。
Red M

0

TFSからプロジェクトのマッピングを削除する手順は次のとおりです。

(1)表示ボタンをクリックします。

(2)チームエクスプローラーを開く

(3)ソース管理をクリックします

(4)プロジェクト/ディレクトリを右クリック

(5)[マッピングの削除]をクリックします

(6)最後にプロジェクトフォームのローカルディレクトリを削除します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.