web-dev-qa-db-ja.com

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

チームプロジェクト内の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].

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

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 "と言った

だから私はそれもキャッシュされていないと思います。

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

125
The Light

VSより

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

source control Explorer

異なるマシンのVSから

リモート登録を編集できるので、VSを登録と同じマシンに置く必要はありません。 "Workspaces ..."項目を押すと表示されるダイアログには、 "Show Remote Workspaces"と書かれたチェックボックスがあります - それをクリックするだけで、あなたはすべてのあなたの登録のリストを得るでしょう:

show remote workspaces

コマンドラインから

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

185

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

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

または4.05.0など.

115
brainiac10

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

  1. team Explorerを開く
  2. Source Controlをクリック
  3. あなたを右クリックしてくださいproject
  4. Remove Mappingをクリック
19
Ken Clark

エラーは本物です。別のマシンに同じ名前のワークスペースを作成したかもしれません。今、あなたは異なるマシン名を持つマシンを変更したかもしれません。

だからここで間違いなくうまくいく回避策があります。

  1. 「チームエクスプローラ」へ
  2. 「ソース管理」へ
  3. [ワークスペース]ドロップダウンに移動します
  4. 「ワークスペース」をクリックしてください。
  5. ポップアップウィンドウが表示されます
  6. [リモートワークスペースを表示]をクリックします
  7. 競合しているワークスペースを削除して、作業を続行します。
11
smthakur19

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

Ctrl + Run 

コピーして過去

%LocalAppData%\Microsoft\Team Foundation

あなたはTFSの異なるバージョンを入手するでしょう。例えば enter image description here

各フォルダをクリックしてください、そして、あなたは得るでしょう

enter image description here

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

ビジュアルスタジオを開きます。

ありがとう。

5
Satish Singh

私はここに提案されるように/ newownerコマンドを使用してマッピングを削除することができました:

Team Foundation Serverワークスペースにアクセスするにはどうすればよいですか?

このコマンドにより、マッピングを削除した[ワークスペースの編集]ウィンドウが開きました。その後、必要のないワークスペースを削除しました。

3
Alex Kamburov

更新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サイドキック を使用できない、または使用したくない場合は、下の危険な最後のオプションに進みます。


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

何もうまくいきませんでした、私のワークスペースはどういうわけか破損していると思います。最後に、私はTFSデータベースに行き、以下の質問を実行しました。それはうまくいった!もちろんデータベースをいじったり、バックアップを取ったりするときは十分に注意してください。

データベースはTfs_<<your_TFS_collection_name>>です。 Tfs_Configuration MSSQLデータベースを無視します。よくわかりませんが、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>>
3
Dennis T

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

  1. Visual Studioのコマンドプロンプトを開く
  2. 最初にVisual Studioを閉じるか、deleteコマンドを実行してもワークスペースは削除されません。
  3. ワークスペースコマンドを一覧表示します - > tf /? TFSのバージョンからあなたに利用可能なコマンドを見つけるため。
  4. ワークスペースをリストする - > tfワークスペース
  5. ワークスペースを削除します - > tf workspace YourWorkspace/delete
2
Chris Cuciak

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

1
smirkingman

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

1
Ahmed elshiekh

私はVisual Studioを介してTFSサーバーにログインするように促されたので、サーバーアクセスに通常必要とされる私のSUアカウントを使いました。これはいくつかの問題につながりました、そして、私は私がちょうど私のものすべてを複製したということに気づかずに、私は別のフォルダーにマッピングすることになった。ある時点で、Visual Studioは私の通常のユーザーに戻って、保留中の変更を「失い」、新しい保留中の変更が古いマッピングに入れられたことに気付きました。

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

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

1

Cacheフォルダ全体を削除する必要はありません。すべての設定や設定を失うことになりますワークスペースマッピングは、次のファイルに保存されています。

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

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

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

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

1
Sundara Prabu

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

(1)表示ボタンをクリックしてください。

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

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

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

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

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

0
FARHAN KHAN

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

0
CalCof

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

問題のあるワークスペースを見つける SELECT * from tbl_Workspace WHERE WorkspaceNameは '%xxxxx%'のようになります。

希望のワークスペースを検索 SELECT * FROM tbl_Workspace WHERE WorkspaceName '%zzzzz%'のように

Edit Top 200 tbl_WorkingFolderを選択してから、問題マッピングを見つけます SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId =問題WorkspaceIdを上から

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

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

希望するWorkSpaceと一致するようにVB6 MSSCCPRJ.SCCを変更します

0
vmaynard

現在のワークスペースマッピングを表示するにはtf workspacesを実行してください。出力は以下のようになります。

enter image description here

それからtf workspace /delete "{workspace};{user}を実行してください。

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

tf workspace /delete bi;James Wierzba

0
James Wierzba

ここでの答えはすべて、すべての場合に機能しない部分的な答えのようです。あなたが適切な権限を持っていると仮定すると、この答えはすべての場合に機能すると思います。

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

結果には、同一の構造を持ついくつかのテーブルがリストされる場合があることに注意してください。テーブルが1つしか表示されない場合は、他の回答の前提条件の一部が役立ちます。ただし、2つ以上のテーブルが表示される場合、そのCollection文字列が重要です!この例では、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\[email protected]"
    • 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\[email protected]"

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


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


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

0
Jaxidian

言及された手がかりがあなたを助けていない場合はTeam Foundation Sidekickをダウンロードし、それを使用してワークスペースを削除できます。

0
Mr. N. Das

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

0
Arpit Raizada