Jak usunąć mapowanie obszaru roboczego TFS?


135

Miałem projekt w tfs w ramach projektu zespołowego, a następnie przenieśliśmy projekt do innej lokalizacji w innym projekcie zespołowym.

Skonfigurowałem Jenkins, aby łączył się z projektem zespołowym i tworzył moje rozwiązanie, ale kiedy zmieniłem ustawienia, aby połączyć się z nowym projektem zespołowym tfs, pojawia się poniższy błąd:

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

Powyższe pokazuje, że istnieje obszar roboczy, więc uruchomiłem poniższe polecenie, aby go usunąć

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

i podpowiedział, że obszar roboczy został usunięty, ale nadal otrzymuję ten sam błąd.

Sprawdziłem również, czy mapowanie zostało usunięte, czy nie, uruchamiając poniższe polecenie:

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

ale mówi, że obszar roboczy nie istnieje zgodnie z oczekiwaniami.

Pomyślałem więc, że może to gdzieś go buforować i uruchomiłem poniższe polecenie:

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

i powiedział „Żaden obszar roboczy w pamięci podręcznej nie pasuje * z serwera http://domain-eg.net:8080/tfs/oldteamproject

więc myślę, że nie jest nawet buforowany.

Więc co powoduje błąd i jak go rozwiązać?


3
Obszary robocze TFS muszą zawierać unikatowe mapowania folderów roboczych na komputer , a nie tylko na użytkownika i maszynę. Czy jest możliwe, że D:\jenkins\jobs\ProjectName1-Build\workspacepodczas testowania skonfigurowano obszar roboczy TFS, który zawiera jako innego użytkownika TFS?
Edward Thomson,

9
Wypróbuj to na komputerze kompilacji - C: \ Users \ {nazwa_użytkownika} \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Cache i usuń wszystko, co jest w folderze
SoftwareCarpenter

Wpadłem na ten sam problem, mój przypadek był białą spacją na początku nazwy obszaru roboczego
Daniel Rapaport

Niedawno przemapowałem swój katalog główny TFS i miałem ten sam problem. Okazuje się, że w moim przypadku eksplorator TFS właśnie pokazywał starą (ostatnią) ścieżkę, na którą sprawdziłem w polu „Ścieżka lokalna:” i była wyszarzona i nie można jej było kliknąć (niebieski). Zrobiłem najnowsze i umieściłem wszystko w poprawnym nowym mapowaniu, a następnie ścieżka stała się niebieska / aktywna. Jeśli usunąłeś wszystkie stare mapowania, może to po prostu pokazywać ostatni folder lokalny, do którego ostatnio pobrałeś, a nie jest to miejsce, w którym umieści teraz pliki pod nowym mapowaniem.
Rich M

Odpowiedzi:


196

Z VS:

  1. Otwórz Team Explorer
  2. Kliknij opcję Eksplorator kontroli źródła
  3. Na pasku nawigacyjnym okna narzędzi znajduje się lista rozwijana zatytułowana „Obszary robocze”.
  4. Rozszerz ją i kliknij opcję „Obszary robocze ...” (tak, trochę nieintuicyjna)
  5. Pojawi się okno „Zarządzaj obszarami roboczymi”. Kliknij edytuj i możesz dodać / usunąć / edytować swój obszar roboczy

eksplorator kontroli źródła

Z VS na innym komputerze

Nie musisz być na tym samym komputerze co rejestracja, ponieważ możesz edytować zdalne rejestracje! W oknie dialogowym, które pojawia się po naciśnięciu elementu „Obszary robocze…”, znajduje się pole wyboru „Pokaż zdalne obszary robocze” - po prostu zaznacz to, a otrzymasz listę wszystkich swoich zapisów:

pokaż zdalne obszary robocze

Z wiersza poleceń

Wywołaj „tf workspace” z wiersza poleceń programisty. Spowoduje to bezpośrednie wyświetlenie „Zarządzaj obszarami roboczymi”!


1
Robi to na maszynie do kompilacji i prawdopodobnie nie ma tam zainstalowanego studia wizualnego.
Erik Funkenbusch

7
Dzięki temu działa, to kolejny powód, dla którego TFS jest okropny.
schmoopy

6
Usunąłem wszystkie obszary robocze. następnie dodano nowy, ponownie otrzymując błąd, że mój folder jest już zmapowany do wrokspace (starego / usuniętego) url tfs. Nie można mapować do nowego tfs / obszaru roboczego. M using vs 2015
Sami

11
Nie działa. Przestrzeń robocza pozostaje bez względu na wszystko. reboot, restart vs, módl się, zatrzasnij pięty razem 3x ... nic ... nie wyjdzie. Nie można mapować na nowy ... nie działa.
Beau D'Amore

3
To jest najwyżej oceniona odpowiedź, ale nie odnosi się do scenariusza, w którym obszar roboczy NIE zostanie usunięty (jak wspomniał Beau powyżej). Usuwasz go, zamykasz okno dialogowe, otwierasz ponownie i wraca. Absolutnie denerwujące.
dapug

123

Napotkałem ten sam problem i udało mi się go naprawić, ręcznie usuwając wszystkie pliki z pamięci podręcznej TFS, znajdującej się tutaj:

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

lub 4.0, 5.0itp


4
Dzięki, to działa dla mnie, ponieważ moje lokalne buforowane dane TFS nie były zsynchronizowane, gdy moja firma zmieniła nazwę domeny sieciowej.
dsum

5
Nie dla mnie. Wciąż mi to mówithe path is already mapped in workspace {mypcname};domain\zhasan
SearchForKnowledge

5
Miałem \ 4.0 \ Cache i \ 5.0 \ Cache, których się pozbyłem. Na wypadek, gdyby to komuś pomogło.
fooser

1
To zadziałało również dla mnie. Wskazówka dla profesjonalistów: przed usunięciem plików w Cachefolderze poświęć chwilę, aby skopiować wszystkie pliki i foldery i zachować je w folderze kopii zapasowej, na wypadek, gdyby to nie zadziałało i musisz przywrócić TFS do poprzedniego stanu .
Shiva,

Właściwie możesz usunąć wszystko pod, Team Foundationjeśli chcesz wykonać czystą ponowną synchronizację.
Supersharp

21

Wykonaj następujące kroki, aby usunąć mapowanie z TFS:

  1. otwarty team explorer
  2. Kliknij Source Control
  3. Kliknij na siebie prawym przyciskiem myszy project
  4. Kliknij Remove Mapping

6
Brak opcji usunięcia mapowania ... nadal występuje błąd, że folder jest już zmapowany do obszaru roboczego starego / usuniętego adresu URL tfs .. M using vs 2015
Sami

1
Nie istnieje w Visual Studio Premium 2013
damd

1
Myślę, że ta opcja jest dostępna tylko w przypadku kierowania na pierwotnie zamapowany folder. Więc jeśli mapuję cały projekt zespołowy z rekurencją, mogę tylko usunąć mapowanie całego projektu zespołowego, podczas gdy jeśli tylko zmapuję folder rozwiązania, mogę to szczęśliwie usunąć.
Jeff,

@Sami Po kliknięciu prawym przyciskiem myszy na projekt, Remove Mappingpojawi się Advancedsekcja
Uday

11

Błąd jest prawdziwy. Być może utworzyłeś obszar roboczy o tej samej nazwie na innym komputerze. Teraz być może zmieniłeś maszynę o innej nazwie.

Oto obejście, które z pewnością zadziała.

  1. Idź do „Team-Explorer”
  2. Idź do „Kontrola źródła”
  3. Przejdź do listy rozwijanej Workspace
  4. Kliknij „Obszary robocze ...”
  5. Pojawi się wyskakujące okienko
  6. Kliknij „Pokaż zdalne obszary robocze”
  7. Teraz usuń obszar roboczy, który jest w konflikcie i możesz kontynuować pracę.

Chociaż ten link może odpowiedzieć na pytanie, lepiej jest zawrzeć tutaj zasadnicze części odpowiedzi i podać link do odniesienia. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie.
alextansc

łącze będzie teraz działać poprawnie. Dziękuję alextansc
smthakur19

@ smthakur19 Alex próbował powiedzieć, że jeśli pewnego dnia ten link nie będzie już dostępny (witryna nie będzie dostępna, strona usunięta itp.), ta odpowiedź będzie bezużyteczna. Byłoby więc miło dołączyć niezbędny tekst i kod z odnośnika, do którego się odwołuje, i uwzględnić je w odpowiedzi na wszystkie pytania. Tak więc źródłem odpowiedzi i pytania będzie TAK.
Beytan Kurt

szczegółowe wyjaśnienie, ale nie mogłem dodać zdjęć, ponieważ moja reputacja jest poniżej 10.
smthakur19

1
uszkodzony link, procedura NIE działa. Przestrzeń robocza pozostaje
Beau D'Amore

7

Wykonaj poniższe czynności:

Ctrl + Run 

Kopiuj i przeszłość

%LocalAppData%\Microsoft\Team Foundation

Otrzymasz inną wersję TFS np wprowadź opis obrazu tutaj

Kliknij każdy folder, a otrzymasz

wprowadź opis obrazu tutaj

Teraz Usuń wszystkie dane w tym folderze.

Otwórz ponownie Visual Studio.

Dzięki.


4

Aktualizacja 2019-01-23

Jeśli wielokrotnie otrzymujesz następujący błąd, The workspace wkspaceEg does not exist…nawet po zastosowaniu poprawnej nazwy użytkownika ( wkspcOwnerDomain\wkspcOwnerUsername) w tf workspacepoleceniu, np.

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

to tf workfoldpolecenie może pomóc to naprawić. Zobacz to pytanie .

Jeśli nawet to nie działa i nie możesz / nie chcesz korzystać z TFS Sidekicks , przejdź do ryzykownej opcji ostatniej szansy poniżej.


Używam TFS 2012. Wypróbowałem wszystko, co zostało zasugerowane online: usunięty folder pamięci podręcznej, użyłem listy rozwijanej obszarów roboczych, obszarów roboczych tf / usuń: *, wyczyszczono poświadczenia z Panelu sterowania, IE itp.

Nic nie działało, wydaje mi się, że mój obszar roboczy został w jakiś sposób uszkodzony. Wreszcie przeszedłem do bazy danych TFS i wykonałem następujące zapytania. To się udało! Oczywiście zachowaj ostrożność podczas majstrowania przy bazie danych , robienia kopii zapasowych itp.

Baza danych nosi nazwę Tfs_<<your_TFS_collection_name>>. Zignoruj Tfs_Configurationbazę danych MSSQL. Nie jestem pewien, ale jeśli nie masz Tfs_<<your_TFS_collection_name>>bazy danych, ustawienia mogą znajdować się w Tfs_DefaultCollectionbazie danych. Mapowanie jest przechowywane w 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

Żadna z odpowiedzi tutaj nie spowodowała usunięcia moich obszarów roboczych. Ale oto jedno rozwiązanie, które może Ci pomóc.

  1. Otwórz wiersz polecenia programu Visual Studio
  2. Najpierw zamknij program Visual Studio lub polecenie Usuń może nie usunąć obszaru roboczego
  3. Wymień polecenia obszaru roboczego -> tf /? aby znaleźć polecenia dostępne w wersji TFS.
  4. Wymień obszary robocze -> obszary robocze tf
  5. Usuń obszar roboczy -> tf obszar roboczy YourWorkspace / delete

To jest droga, jeśli masz dwa obszary robocze o tej samej nazwie, ale dla różnych użytkowników (np. Twoje zwykłe konto i konto administratora). Te dwa obszary robocze nie będą wyświetlane jako dwie przestrzenie, jeśli otworzysz widok „Obszary robocze”, jak opisano w innych odpowiedziach - na liście zostanie wyświetlona tylko ta, która dotyczy bieżącego użytkownika. W moim przypadku był to drugi obszar roboczy (dla konta administratora), który blokował operacje. Jeśli postąpisz zgodnie z opisem w tej odpowiedzi, krok 5 pozwoli ci usunąć drugi obszar roboczy za pomocą polecenia „tf obszar roboczy YourWorkspace; HiddenUser / delete”.
H. Breitkreutz

2

Nie musisz usuwać całego folderu pamięci podręcznej. tracisz wszystkie ustawienia / preferencje Mapowania obszaru roboczego są przechowywane w pliku o nazwie:

VersionControl.config w katalogu ustawień lokalnych użytkowników / danych aplikacji. znajduje się tutaj w Windows 7:

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

gdzie x = 3,0,4,0, 5,0,6,0 itd.

Wewnątrz tego znajdziesz foldery z nazwą przewodnika, otwórz każdy z nich, ręcznie edytuj wyżej wymieniony plik, aby usunąć mapowanie obszaru roboczego (ścieżka katalogu będzie obecna w atrybucie mappedpaths) z tego folderu lokalnego na serwer TFS (który nie jest już używany ).



1

Zostałem poproszony o zalogowanie się do naszego serwera TFS przez Visual Studio, więc użyłem mojego konta SU, które jest zwykle wymagane do uzyskania dostępu do serwera. Doprowadziło to do pewnych problemów i skończyło się na mapowaniu do innego folderu, nie zdając sobie sprawy, że właśnie zduplikowałem wszystkie moje rzeczy. W pewnym momencie Visual Studio powrócił do mojego zwykłego użytkownika, „straciłem” oczekujące zmiany i zauważyłem, że nowe oczekujące zmiany zostały umieszczone przez w moim starym mapowaniu.

Kiedy próbowałem ponownie mapować do nowej lokalizacji (z którą było połączone konto SU), próbując odzyskać moje oczekujące zmiany, powiedziałoby mi, że jest już zmapowane do SU i nie mogłem tego zrobić, ale musiałem nie ma możliwości usunięcia mapy! Pokaż zdalne obszary robocze, usunięcie wszystkich obszarów roboczych za pomocą wiersza poleceń itp. Nic nie ujawniło. Pomyślałem wtedy „a co, jeśli jest faktycznie połączone z kontem użytkownika SU na moim komputerze , a nie z domeną”. Zalogowałem się lokalnie jako mój SU i na pewno był tam cały obszar roboczy dla tego użytkownika. Usunąłem mapowanie i mogłem bez problemu wrócić do mojego zwykłego użytkownika i ponownie mapować.

Morał z tej historii, być może inny użytkownik jest zalogowany na tym samym komputerze, co nie jest widoczne dla aktualnie zalogowanego użytkownika, dlatego nie można usunąć ani nawet zobaczyć mapowań.


1

Jeśli wspomniane wskazówki nie pomagają, pobierz Team Foundation Sidekick i za pomocą tego możesz usunąć obszary robocze.


1

Plik -> Kontrola źródła -> Zaawansowane -> Obszary robocze -> Wybierz obszar roboczy w Zarządzaj obszarami roboczymi i kliknij „Edytuj”. Następnie możesz zmienić folder lokalny.


1

Wszystkie odpowiedzi tutaj wydają się być odpowiedziami częściowymi, które nie działają we wszystkich przypadkach. Myślę, że ta odpowiedź zadziała we wszystkich przypadkach, zakładając, że masz odpowiednie uprawnienia.

  1. Otwórz wiersz polecenia dewelopera. W moim przypadku przetestowałem to za pomocą wiersza polecenia dewelopera dla VS 2019.
  2. Wpisz to polecenie: tf workspaces

Zwróć uwagę, że wyniki mogą zawierać listę kilku tabel o identycznej strukturze. Jeśli widzisz tylko jedną tabelę, niektóre założenia w innych odpowiedziach mogą Ci pomóc. Jeśli jednak widzisz dwie lub więcej tabel, ten ciąg kolekcji jest ważny! W naszych przykładach zakładamy, że masz dwie Kolekcje (dwie nie różnią się od czterech, a jedna jest bardziej żmudna niż druga):

https://dev.azure.com/foo i https://bar.visualstudio.com/

Przy odrobinie szczęścia będziesz wiedział, z którym z tych dwóch chcesz pracować. Jeśli jednak musisz przejrzeć je wszystkie, musisz po prostu zrobić tę jedną kolekcję na raz. Każda „kolekcja” jest tym samym, co „Organizacja” w usłudze Azure DevOps (tak mi się wydaje).

Jeśli nie użyjesz tego szczegółu kolekcji, może zostać wyświetlony komunikat o błędzie:

Nie można określić serwera kontroli źródła.

  1. Następnie wpisz to polecenie dla kolekcji, której chcesz użyć:

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

To da ci dużo pełniejszy obraz tego, z czym masz do czynienia. Jest to szczególnie nieprzyjemne, jeśli masz wiele kont MSA i organizacji, które trafiają do tego repozytorium z tego samego komputera. W rzeczywistości możesz mieć wiele pozornie identycznych wpisów. Jeśli spróbujesz je usunąć na podstawie tego, co obecnie wiesz, może to nie zadziałać. Ale możemy uzyskać więcej informacji.

  1. Następnie uruchomimy to samo polecenie, ale dodamy /format:xmlje na końcu:

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

To daje teraz trochę XML z kilkoma dodatkowymi właściwościami. Te, na których prawdopodobnie najbardziej nam zależy, to aliasy właścicieli. To są brakujące informacje, które musisz teraz przejrzeć i usunąć te obszary robocze. Bez tych dodatkowych informacji łatwo jest uderzyć w ścianę i utknąć z komunikatem o błędzie:

Określ jeden obszar roboczy.

  1. Teraz mamy wszystkie potrzebne informacje. Biorąc pod uwagę dodatkowe OwernAliaseswpisy, wybierz unikatowy wpis (lub powtórz, jeśli więcej niż jeden), który chcesz usunąć i użyj następującego polecenia (podano kilka przykładów):

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

Identyfikator GUID identyfikuje katalog usługi AAD, a cudzysłowy służą do obsługi wszelkich spacji, które mogą znajdować się w aliasie. Nazwa „MyWorkspaceName” pochodzi z poprzednich zapytań dotyczących obszarów roboczych.


Bez tego bardzo dokładnego podejścia możliwe jest, że wszystkie inne odpowiedzi na to pytanie zawiodą. Chociaż niektóre z tych wysiłków spowodują wyczyszczenie lokalnych obszarów roboczych, nie wyczyszczą obszarów roboczych serwera, z którymi nadal możesz konfliktować. Ponadto, jeśli wcześniej korzystałeś z innego konta, sytuacja może się skomplikować, na przykład po przełączeniu z konta MSA na konto AAD. I robi się NAPRAWDĘ owłosione, jeśli masz konto MSA iwiele kont AAD, wszystkie z tym samym adresem e-mail, którego używałeś z tej samej stacji roboczej. A potem robi się super szalenie owłosione, jeśli wiele z nich używa domyślnej nazwy obszaru roboczego: nazwy hosta twojego komputera. W moim przypadku miałem cztery obszary robocze z taką samą nazwą obszaru roboczego, nazwą właściciela i nazwą komputera (tj. Pierwsze zapytanie bez formatowania XML miało 4 identyczne rekordy!).


Nie wiem, czy istnieje bardziej graficzny sposób zarządzania nimi niż ten. Szukałem i nie znalazłem jeszcze lepszego sposobu niż to.


0

Mapowanie tfs można również usunąć, po prostu edytując plik .sln i usuwając element GlobalSection dla powiązania tfs.


0

Dzięki za pomoc!

Znajdź problematyczny obszar roboczy SELECT * FROM tbl_Workspace WHERE WorkspaceName, np. „% Xxxxx%”

Znajdź żądaną przestrzeń roboczą SELECT * FROM tbl_Workspace WHERE WorkspaceName np. „% Zzzzz%”

Wybierz Edytuj 200 pierwszych tbl_WorkingFolder, a następnie znajdź mapowanie problemu SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = Problem WorkspaceId z góry

Zmień WorkspaceId na żądany WorkspaceId

Na koniec przejdź do Eksploratora projektów i wybierz opcję Usuń mapowanie w projekcie

Zmodyfikuj VB6 MSSCCPRJ.SCC w celu dopasowania do żądanego obszaru roboczego


0

Najpierw pobierz i zainstaluj wtyczkę Team Explorer w swoim systemie, a następnie przejdź do Eksploratora kontroli źródła. W panelu nawigacji znajdź pole Workspace i kliknij opcję Workspaces. Po kliknięciu opcji Obszary robocze zobaczysz wszystkie zmapowane obszary robocze. Kliknij przycisk usuwania i usuń mapowanie dla wymaganych obszarów roboczych.


0

Uruchom, tf workspacesaby wyświetlić bieżące mapowania obszaru roboczego. Wynik wygląda następująco:

wprowadź opis obrazu tutaj

Następnie uruchomić tf workspace /delete "{workspace};{user}

Korzystając z danych wyjściowych powyżej, aby usunąć obszar roboczy bi:

tf workspace /delete bi;James Wierzba


To nie działa dla mnie. Otrzymuję następujący błąd: Wystąpił błąd argumentu: Do usunięcia obszaru roboczego wymagana jest jedna nazwa obszaru roboczego.
Red M

0

Poniżej przedstawiono kroki, aby usunąć mapowanie projektu z programu TFS:

(1) Kliknij przycisk Widok.

(2) Otwórz Team Explorer

(3) Kliknij opcję Kontrola źródła

(4) Kliknij prawym przyciskiem myszy swój projekt / katalog

(5) Kliknij Usuń mapowanie

(6) Na koniec usuń katalog lokalny formularza projektu.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.