web-dev-qa-db-de.com

So entfernen Sie eine TFS-Workspace-Zuordnung

Ich hatte ein Projekt in tfs innerhalb eines Teamprojekts, dann haben wir das Projekt an einen anderen Ort in einem anderen Teamprojekt verschoben.

Ich hatte Jenkins so konfiguriert, dass er eine Verbindung zum Teamprojekt herstellt und meine Lösung erstellt. Wenn ich jedoch die Einstellungen geändert habe, um eine Verbindung zum neuen TFS-Teamprojekt herzustellen, wird der Fehler angezeigt:

[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].

Das Obige zeigt also, dass es einen Arbeitsbereich gibt, also habe ich den folgenden Befehl ausgeführt, um ihn zu entfernen

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

daraufhin wurde der Arbeitsbereich entfernt, aber es wird immer noch derselbe Fehler angezeigt.

Ich habe auch überprüft, ob die Zuordnung entfernt wurde oder nicht, indem Sie den folgenden Befehl ausführen:

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

der Arbeitsbereich existiert jedoch nicht wie erwartet.

Also dachte ich, es könnte irgendwo zwischengespeichert werden und führte den folgenden Befehl aus:

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

und es sagte "Kein Arbeitsbereich im Cache stimmt überein * von Server http://domain-eg.net:8080/tfs/oldteamproject "

ich denke also, es ist nicht einmal zwischengespeichert.

Also, was verursacht den Fehler und wie kann er behoben werden?

121
The Light

Von VS:

  1. Öffnen Sie den Team Explorer
  2. Klicken Sie auf Source Control Explorer
  3. In der Navigationsleiste des Werkzeugfensters befindet sich eine Dropdown-Liste mit der Bezeichnung "Arbeitsbereiche". 
  4. Erweitern Sie es und klicken Sie auf die Option "Arbeitsbereiche ..." (ja, ein bisschen nicht intuitiv)
  5. Das Fenster "Arbeitsbereiche verwalten" wird angezeigt. Klicken Sie auf Bearbeiten, und Sie können Ihren Arbeitsbereich hinzufügen/entfernen/bearbeiten

source control Explorer

Von VS auf einer anderen Maschine

Sie müssen VS nicht auf derselben Maschine wie die Registrierung aufstellen, da Sie Remote-Einträge bearbeiten können! In dem Dialogfeld, das angezeigt wird, wenn Sie auf die Schaltfläche "Arbeitsbereiche ..." drücken, wird ein Kontrollkästchen mit der Angabe "Remote-Arbeitsbereiche anzeigen" angezeigt. Aktivieren Sie das Kontrollkästchen, um alle Ihre Einträge anzuzeigen:

show remote workspaces

Über die Befehlszeile

Rufen Sie "tf workspace" über eine Eingabeaufforderung für Entwickler auf. Die "Arbeitsbereiche verwalten" wird direkt angezeigt. 

178

Ich hatte das gleiche Problem und konnte dieses Problem beheben, indem alle Dateien im TFS-Cache, die sich hier befinden, manuell gelöscht werden:

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

oder 4.0, 5.0 usw.

115
brainiac10

Führen Sie die folgenden Schritte aus, um die Zuordnung von TFS zu entfernen:

  1. team Explorer öffnen
  2. Klicken Sie auf Source Control
  3. Rechtsklick auf dich project
  4. Klicken Sie auf Remove Mapping 
19
Ken Clark

Der Fehler ist echt. Möglicherweise haben Sie einen Arbeitsbereich mit demselben Namen auf einem anderen Computer erstellt. Möglicherweise haben Sie den Computer mit einem anderen Computernamen geändert.

Hier ist also eine Umgehung, die auf jeden Fall funktionieren wird. Es folgt eine Umgehung.

  1. Gehe zu "Team-Explorer"
  2. Gehe zu "Source-Control"
  3. Gehen Sie zur Dropdown-Liste des Arbeitsbereichs
  4. Klicken Sie auf "Arbeitsbereiche ...". 
  5. Ein Popup-Fenster wird angezeigt
  6. Klicken Sie auf "Remote-Arbeitsbereiche anzeigen".
  7. Löschen Sie nun den Arbeitsbereich, der in Konflikt steht, und Sie können Ihre Arbeit fortsetzen.
11
smthakur19

Bitte folgen Sie den nachstehenden Schritten:

Ctrl + Run 

Kopieren und Vorbei

%LocalAppData%\Microsoft\Team Foundation

Sie erhalten eine andere Version von TFS, z. B  enter image description here

Klicken Sie auf jeden Ordner und Sie erhalten 

 enter image description here

Löschen Sie nun alle Daten in diesem Ordner.

Öffnen Sie das Visual Studio erneut.

Vielen Dank.

5
Satish Singh

Es ist mir gelungen, die Zuordnung mithilfe des Befehls/newowner wie hier vorgeschlagen zu entfernen:

Wie kann ich wieder auf meinen Team Foundation Server-Arbeitsbereich zugreifen?

Der Befehl öffnete ein Edit Workspace-Fenster, in dem ich die Zuordnung entfernt habe. Danach habe ich den Arbeitsbereich gelöscht, den ich nicht brauchte.

3
Alex Kamburov

Update 2019-01-23

Wenn Sie wiederholt den folgenden Fehler The workspace wkspaceEg does not exist… erhalten, obwohl Sie den korrekten Benutzernamen (wkspcOwnerDomain\wkspcOwnerUsername) im Befehl tf workspace verwendet haben, z.

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

dann hilft der tf workfold-Befehl, das Problem zu beheben. Siehe diese Frage .

Wenn auch das nicht funktioniert und Sie TFS Sidekicks nicht verwenden können/wollen, fahren Sie mit der riskanten Option für den letzten Abzug fort.


Ich verwende TFS 2012. Ich habe alles ausprobiert, was online vorgeschlagen wurde: gelöschte Cache-Ordner, Dropdown-Liste der Arbeitsbereiche, tf Arbeitsbereiche/remove: *, gelöschte Anmeldeinformationen in der Systemsteuerung, im IE usw.

Nichts hat funktioniert, ich glaube, mein Arbeitsbereich wurde irgendwie beschädigt. Schließlich ging ich zur TFS-Datenbank und führte die folgenden Abfragen aus. Das hat funktioniert! Natürlich ist sehr vorsichtig, wenn Sie mit der Datenbank herumspielen, Backups erstellen usw.

Die Datenbank heißt Tfs_<<your_TFS_collection_name>>. Ignorieren Sie die Tfs_Configuration MSSQL-Datenbank. Ich bin nicht sicher, aber wenn Sie keine Tfs_<<your_TFS_collection_name>>-Datenbank haben, befinden sich die Einstellungen möglicherweise in der Tfs_DefaultCollection-Datenbank. Die Zuordnung wird in tbl_WorkingFolder.LocalItem gespeichert.

/*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

Bei keiner der Antworten wurden meine Arbeitsbereiche entfernt. Aber hier ist eine Lösung, die für Sie funktionieren könnte.

  1. Öffnen Sie eine Visual Studio-Eingabeaufforderung
  2. Schließen Sie zuerst Visual Studio oder der Löschbefehl löscht möglicherweise nicht den Arbeitsbereich
  3. Auflisten der Arbeitsbereichsbefehle -> tf /? um die Befehle zu finden, die Ihnen aus der TFS-Version zur Verfügung stehen.
  4. Listen Sie die Arbeitsbereiche auf -> tf Arbeitsbereiche
  5. Löschen Sie den Arbeitsbereich -> tf Arbeitsbereich YourWorkspace/delete
2
Chris Cuciak

Zuletzt wurden ALLE Arbeitsbereiche gelöscht und von vorne begonnen. Fest.

1
smirkingman

Ich wurde aufgefordert, mich über Visual Studio bei unserem TFS-Server anzumelden. Daher habe ich mein SU-Konto verwendet, das normalerweise für den Serverzugriff erforderlich ist. Dies führte zu einigen Problemen und ich landete schließlich in einem anderen Ordner, ohne zu merken, dass ich gerade all meine Sachen kopiert hatte. Irgendwann kehrte Visual Studio zu meinem regulären Benutzer zurück. Ich habe "ausstehende Änderungen" "verloren" und habe bemerkt, dass neue ausstehende Änderungen in meiner alten Zuordnung eingefügt wurden. 

Wenn ich versuchen würde, an den neuen Standort (mit dem das SU-Konto verknüpft war) neu zuzuordnen, um die ausstehenden Änderungen wiederherzustellen, würde dies mir sagen, dass er bereits der SU zugeordnet war Keine Möglichkeit, die Karte zu entfernen! Zeigen Sie Remote-Arbeitsbereiche an, entfernen Sie alle Arbeitsbereiche über die Befehlszeile usw., die nichts ergeben. Ich dachte dann "Was ist, wenn es tatsächlich mit dem SU-Benutzerkonto auf meinem Computer verknüpft ist, nicht mit der Domäne" Ich habe mich lokal als meine SU angemeldet, und natürlich war ein Arbeitsbereich für diesen Benutzer eingerichtet. Ich entfernte die Zuordnung und konnte zu meinem regulären Benutzer zurückkehren und ohne Probleme neu zuordnen.

Moral der Geschichte, möglicherweise ist ein anderer Benutzer auf demselben Computer angemeldet, der für den aktuell angemeldeten Benutzer nicht sichtbar ist. Daher können Sie die Zuordnungen nicht entfernen oder auch nur sehen.

1

Sie müssen nicht den gesamten Cache-Ordner löschen. Sie verlieren alle Einstellungen/Voreinstellungen Die Arbeitsbereichszuordnungen werden in einer Datei gespeichert, die als 

VersionControl.config unter den lokalen Einstellungen/Anwendungsdatenverzeichnis des Benutzers. hier in Windows 7:

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

wobei x = 3,0,4,0, 5,0,6,0 usw.

In diesem Ordner finden Sie Ordner mit benannten Leitern, öffnen Sie jeden, öffnen Sie die oben erwähnte Datei manuell und entfernen Sie die Arbeitsbereichszuordnung (der Verzeichnispfad ist im Attribut "Zugeordnete Pfade") von diesem lokalen Ordner zum TFS-Server (dh.) nicht mehr im Gebrauch). 

1
Sundara Prabu

Datei -> Quellcodeverwaltung -> Erweitert -> Arbeitsbereiche -> Wählen Sie den Arbeitsbereich unter Arbeitsbereiche verwalten aus und klicken Sie auf "Bearbeiten". Anschließend können Sie den lokalen Ordner ändern.

0
Ahmed elshiekh

Gehen Sie folgendermaßen vor, um die Zuordnung eines Projekts von TFS zu entfernen:

(1) Klicken Sie auf die Schaltfläche Ansicht.

(2) Öffnen Sie den Team Explorer

(3) Klicken Sie auf Source Control

(4) Klicken Sie mit der rechten Maustaste auf Ihr Projekt/Verzeichnis

(5) Klicken Sie auf Zuordnung entfernen

(6) Löschen Sie schließlich das lokale Verzeichnis des Projektformulars.

0
FARHAN KHAN

Sie können eine tfs-Zuordnung auch entfernen, indem Sie einfach Ihre .sln-Datei bearbeiten und das GlobalSection-Element für die tfs-Bindung entfernen.

0
CalCof

Danke für Ihre Hilfe!

Problemarbeitsbereich finden SELECT * FROM tbl_Workspace WHERE WorkspaceName wie '% xxxxx%'

Gewünschten Arbeitsbereich suchen SELECT * FROM tbl_Workspace WHERE Arbeitsbereichsname wie '% zzzzz%'

Wähle Top 200 tbl_WorkingFolder und dann Finde die Problemzuordnung SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = Problem WorkspaceId von oben

Ändern Sie die WorkspaceId in die gewünschte WorkspaceId

Schließlich gehe zum Projekt-Explorer und wähle Mapping entfernen für das Projekt

Ändern Sie VB6 MSSCCPRJ.SCC an den gewünschten WorkSpace

0
vmaynard

Führen Sie tf workspaces aus, um die aktuellen Arbeitsbereichszuordnungen anzuzeigen. Ausgabe sieht wie folgt aus:

 enter image description here

Dann tf workspace /delete "{workspace};{user} ausführen

Verwenden der obigen Ausgabe zum Löschen des Arbeitsbereichs bi: 

tf workspace /delete bi;James Wierzba

0
James Wierzba

Alle Antworten hier scheinen Teilantworten zu sein, die nicht in allen Fällen funktionieren. Ich denke, diese Antwort wird in allen Fällen funktionieren, vorausgesetzt, Sie haben die richtigen Berechtigungen.

  1. Öffnen Sie die Developer-Eingabeaufforderung. In meinem Fall habe ich diese mit der Developer-Eingabeaufforderung für VS 2019 getestet.
  2. Geben Sie diesen Befehl ein: tf workspaces

Beachten Sie, dass die Ergebnisse einige Tabellen mit identischer Struktur auflisten können. Wenn Sie nur eine Tabelle sehen, können einige der Annahmen in den anderen Antworten für Sie funktionieren. Wenn Sie jedoch zwei oder mehr Tabellen sehen, ist diese Collection Zeichenfolge wichtig! In unseren Beispielen wird davon ausgegangen, dass Sie über zwei Sammlungen verfügen (zwei unterscheiden sich nicht von vier, nur eine ist umständlicher als die andere):

https://dev.Azure.com/foo und https://bar.visualstudio.com/

Mit etwas Glück wissen Sie, mit welchem ​​dieser beiden Unternehmen Sie arbeiten möchten. Wenn Sie jedoch alle durchlaufen müssen, müssen Sie jeweils nur diese eine Sammlung durchführen. Jede "Sammlung" hier entspricht einer "Organisation" in Azure DevOps (glaube ich).

Wenn Sie dieses Sammlungsdetail nicht verwenden, wird möglicherweise eine Fehlermeldung angezeigt:

Der Quellcodeverwaltungsserver konnte nicht ermittelt werden.

  1. Geben Sie als Nächstes diesen Befehl für die Sammlung ein, die Sie verwenden möchten:

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

Dadurch erhalten Sie ein umfassenderes Bild davon, womit Sie es zu tun haben. Dies wird besonders unangenehm, wenn Sie mehrere MSAs und Org-Konten hatten, die dieses Repo von demselben Computer aus erreicht haben. Möglicherweise haben Sie sogar mehrere scheinbar identische Einträge. Wenn Sie versuchen, sie basierend auf dem, was Sie derzeit wissen, zu löschen, funktioniert dies möglicherweise nicht. Aber wir können mehr Informationen bekommen.

  1. Als nächstes werden wir den gleichen Befehl ausführen, aber /format:xml an das Ende anhängen:

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

Dies gibt Ihnen jetzt eine Reihe von XML mit einigen zusätzlichen Eigenschaften. Die, die uns wahrscheinlich am meisten interessieren, sind die Eigentümer-Aliase. Dies sind die fehlenden Informationen, die Sie jetzt durchgehen und diese Arbeitsbereiche löschen müssen. Ohne diese zusätzlichen Informationen ist es einfach, gegen eine Wand zu stoßen und eine Fehlermeldung zu erhalten:

Geben Sie einen Arbeitsbereich an.

  1. Jetzt haben wir alle Informationen, die wir benötigen. Wählen Sie angesichts der zusätzlichen OwernAliases Einträge den eindeutigen Eintrag aus (oder wiederholen Sie ihn, falls mehr als einer vorhanden ist), den Sie löschen möchten, und verwenden Sie diesen folgenden Befehl (einige Beispiele) sind aufgelistet):

    • 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]"

Die GUID kennzeichnet ein AAD-Verzeichnis und die Anführungszeichen dienen dazu, Leerzeichen in einem Alias ​​zu behandeln. Der "MyWorkspaceName" stammt aus Ihren vorherigen Abfragen, in denen die Arbeitsbereiche aufgelistet sind.


Ohne diesen sehr gründlichen Ansatz ist es möglich, dass alle anderen Antworten in dieser Frage für Sie fehlschlagen. Während einige dieser Bemühungen lokale Arbeitsbereiche bereinigen, werden Serverarbeitsbereiche, mit denen Sie immer noch in Konflikt geraten können, nicht bereinigt. Wenn Sie zuvor ein anderes Konto verwendet haben, kann dies zu Problemen führen, z. B. wenn Sie von einem MSA-Konto zu einem AAD-Konto gewechselt sind. Und es wird WIRKLICH haarig, wenn Sie ein MSA-Konto haben nd mehrere AAD-Konten mit derselben E-Mail-Adresse, die Sie auf derselben Workstation verwendet haben. Und dann wird es wahnsinnig haarig, wenn mehrere von ihnen den Standardnamen für den Arbeitsbereich verwenden: den Hostnamen Ihres Computers. In meinem Fall hatte ich vier Arbeitsbereiche, die alle denselben Arbeitsbereichsnamen, Besitzernamen und Computernamen hatten (d. H. Die erste Abfrage ohne XML-Formatierung hatte 4 identische Datensätze!).


Ich weiß nicht, ob es eine grafischere Möglichkeit gibt, diese zu verwalten. Ich habe gesucht und noch keinen besseren Weg gefunden.

0
Jaxidian

Wenn die erwähnten Hinweise nicht helfen, laden Sie Team Foundation Sidekick herunter und verwenden Sie diesen, um die Arbeitsbereiche zu löschen.

0
Mr. N. Das

Laden Sie zunächst das Team Explorer-Plugin herunter und installieren Sie es in Ihrem System. Wechseln Sie dann zum Source Control Explorer. Suchen Sie im Navigationsbereich das Feld Arbeitsbereich und klicken Sie auf die Option Arbeitsbereiche. Nachdem Sie auf die Option Arbeitsbereiche geklickt haben, werden alle zugeordneten Arbeitsbereiche angezeigt. Klicken Sie auf die Schaltfläche "Entfernen" und entfernen Sie die Zuordnung für die erforderlichen Arbeitsbereiche. 

0
Arpit Raizada