Як видалити картографічне робоче місце TFS?


135

У мене був проект в tfs в рамках командного проекту, тоді ми перемістили проект в інше місце в іншому командному проекті.

Я сконфігурував Дженкінса для підключення до командного проекту та створення мого рішення, але коли я змінив налаштування, щоб підключитися до нового командного проекту 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 \ Кеш і видаліть усе, що є в папці
SoftwareCarpenter

Натрапив на ту ж проблему, у моєму випадку було пробіл на початку назви робочої області
Даніель Рапапорт

Нещодавно я перезавантажив свій корінь TFS, і у мене була та сама проблема. Виявляється, у моєму випадку провідник TFS тільки показував старий (останній) шлях, який я перевірив у "Місцевому шляху:", і він був сірим кольором і не був натисканням (синій). Я отримав останню версію, і це все помістило в нове правильне відображення, і тоді шлях став синім / активним. Якщо ви видалили всі старі відображення, можливо, він просто відображатиме останню локальну папку, до якої ви отримали останню версію, і це не те, куди тепер вони будуть розміщувати файли під новим відображенням.
Rich M

Відповіді:


196

Від VS:

  1. Відкрийте Провідник команди
  2. Клацніть Провідник управління джерелами
  3. На панелі навігації у вікні інструменту випадає мітка "Робочі області".
  4. Розгорніть його і натисніть на опцію "Робочі простори ..." (так, трохи неінтуїтивно)
  5. З'явиться вікно "Управління робочими просторами". Клацніть редагувати, і ви можете додати / видалити / відредагувати робочу область

дослідник управління джерелами

Від VS на іншій машині

Вам не потрібно, щоб VS знаходився на тій же машині, що і при реєстрації, оскільки ви можете редагувати віддалені зарахування! У діалоговому вікні, яке з'явиться при натисканні на пункт "Робочі простори ...", є прапорець "Показати віддалені робочі простори" - просто позначте це, і ви отримаєте список усіх своїх заявок:

показати віддалені робочі місця

З командного рядка

Викличте "tf робочу область" з командного рядка розробника. Він відобразить "Управління робочими просторами" безпосередньо!


1
Він робить це на машині побудови, і, швидше за все, там не встановлена ​​візуальна студія.
Ерік Функенбуш

7
Завдяки цьому працює, але ще одна причина, по якій TFS викликає побоювання.
schmoopy

6
Я видалив усі робочі області. потім додано нове, знову отримуючи помилку, що моя папка вже відображена у вродженому просторі (старого / видаленого) URL-адреси tfs. Неможливо зіставити нову tfs / робочу область. M using vs 2015
Самі

11
Не працює. Робоча область залишається незважаючи ні на що. перезавантажте, перезавантажте vs, моліться, натискайте п'яти разом 3x ... нічого ... не вийде. Неможливо відобразити карту до нового ... не може працювати.
Beau D'Amore

3
Це найвища відповідь, але вона не стосується сценарію, коли робоча область НЕ видалятиметься (як згадувалося вище). Ви виймаєте його, закриваєте діалогове вікно, знову відкриваєтесь, і воно повертається. Зовсім божевільний.
dapug

123

Я зіткнувся з тією ж проблемою і зміг її виправити, видаливши всі файли в кеш-пам'яті TFS, розташованій тут:

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

або 4.0, 5.0і т.д.


4
Дякую, це працює для мене, оскільки мої локальні кешовані дані TFS не синхронізувались, коли моя компанія змінила мережеве доменне ім’я.
dsum

5
Не для мене. Мені все ще кажутьthe path is already mapped in workspace {mypcname};domain\zhasan
SearchForKnowledge

5
У мене були \ 4.0 \ Кеш і \ 5.0 \ Кеш, які я позбувся. У тому випадку, якщо це комусь допоможе.
fooser

1
Це працювало і для мене. Порада. Перш ніж видалити файли в Cacheпапці, знайдіть хвилину, щоб скопіювати всі файли та папки та зберегти їх у резервній папці, на випадок, якщо вона не працює для вас, і вам доведеться відновити свій TFS до попереднього стану .
Шива

Насправді ви можете видалити все під цим пунктом, Team Foundationякщо хочете виконати чисту повторну синхронізацію.
Супершерп

21

Виконайте наступні дії, щоб видалити відображення з TFS:

  1. відчинено team explorer
  2. Клацніть Source Control
  3. Клацніть правою кнопкою миші на вас project
  4. Натисніть на Remove Mapping

6
Немає варіантів для видалення відображення .. все ще стикається з помилкою, що ваша папка вже відображена на деяку робочу область старого / видаленого URL-адреси tfs .. M за допомогою 2015
Самі

1
Не існує у Visual Studio Premium 2013
чорт

1
Я думаю, що цей варіант доступний лише при націлюванні на оригінально відображену папку. Отже, якщо я зіставляю цілий командний проект з рекурсією, я можу зняти карту всього командного проекту, тоді як, якщо я просто картографую папку з рішеннями, я можу розпалювати це досить щасливо.
Джефф

@Sami Після клацання правою кнопкою миші на вашому проекті, Remove Mappingвін відобразить вас у Advancedрозділі
Uday

11

Помилка справжня. Можливо, ви створили робочу область з однаковою назвою на різних машинах. Тепер ви, можливо, змінили машину, що має іншу назву машини.

Тож ось обхід, який обов'язково спрацює. Продовження - це обхід.

  1. Перейдіть до "Team-Explorer"
  2. Перейдіть до "Джерело-контроль"
  3. Перейдіть у спадне меню "Робоча область"
  4. Натисніть "Робочі простори ..."
  5. З'явиться спливаюче вікно
  6. Натисніть "Показати віддалені робочі простори"
  7. Тепер видаліть робочу область, яка суперечить, і ви можете продовжувати свою роботу.

Хоча це посилання може відповісти на питання, краще включити сюди суттєві частини відповіді та надати посилання для довідки. Відповіді лише на посилання можуть стати недійсними, якщо пов’язана сторінка зміниться.
alextansc

тепер посилання буде нормально працювати. Дякую alextansc
smthakur19

@ smthakur19, що Алекс намагався сказати, якщо одного дня це посилання більше не доступне (веб-сайт вниз, видалена сторінка тощо), ця відповідь буде марною. Тож було б непогано включити основний текст та код із посиланням та включити його у відповідь усіх. Отже, і джерело відповіді, і питання будуть обома.
Бейтан Курт

детальне пояснення, однак я не зміг додати зображень, оскільки моя репутація нижче 10.
smthakur19

1
ламане посилання, процедура НЕ працює. Залишилося робоче місце
Beau D'Amore

7

Будь ласка, виконайте наступні кроки:

Ctrl + Run 

Копіювання та минуле

%LocalAppData%\Microsoft\Team Foundation

Ви отримаєте іншу версію TFS, наприклад введіть тут опис зображення

Клацніть на кожну папку і ви отримаєте

введіть тут опис зображення

Тепер видаліть усі дані з цієї папки.

Відкрийте візуальну студію.

Дякую.


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 робочі простори / видалити: *, очистити облікові дані з панелі керування, 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

Мені вдалося видалити відображення за допомогою команди / newowner, як тут запропоновано:

Як я можу відновити доступ до робочої області сервера Team Foundation?

Команда відкрила вікно «Правка робочої області», де я видалив відображення. Згодом я видалив робочу область, яка мені не потрібна.


2

Жодна з відповідей тут не видаляла мої робочі області. Але ось одне рішення, яке може допомогти вам.

  1. Відкрийте командний рядок Visual Studio
  2. Спочатку закрийте Visual Studio або команда delete не може видалити робочу область
  3. Перерахуйте команди робочої області -> tf /? щоб знайти доступні вам команди з версії TFS.
  4. Список робочих просторів -> tf робочих просторів
  5. Видаліть робочу область -> tf робочу область YourWorkspace / видаліть

Це шлях, якщо у вас є два робочих простори з тим самим іменем, але для різних користувачів (наприклад, ваш звичайний обліковий запис та обліковий запис адміністратора). Ці дві робочі області не відображатимуться як два пробіли, якщо ви відкриєте подання "Робочі простори", як зазначено в інших відповідях - буде вказано лише те, що для поточного користувача. У моєму випадку це була друга робоча область (для облікового запису адміністратора), яка блокувала операції. Якщо зробити так, як описано в цій відповіді, крок 5 дозволить вам видалити другу робочу область за допомогою "tf робочої області YourWorkspace; HiddenUser / delete".
Х. Брейткреутц

2

Не потрібно видаляти всю папку Кеш. ви втрачаєте всі налаштування / налаштування Зображення робочої області зберігаються у файлі під назвою:

VersionControl.config в каталозі місцевих параметрів / даних даних користувачів. розташований тут у Windows 7:

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

де х = 3,0,4,0, 5,0,6,0 і т.д.

Всередині цього ви знайдете папки з назвою настанови, відкрийте кожну з них, вручну редагуючи згаданий файл, щоб видалити відображення робочої області (шлях до каталогу буде присутній в атрибуті mappedpaths) з цієї локальної папки на сервер TFS (який більше не використовується ).



1

Мені було запропоновано увійти на наш сервер TFS через Visual Studio, тому я використовував свій обліковий запис SU, який зазвичай потрібен для доступу до сервера. Це призвело до деяких проблем, і я в кінцевому підсумку переглянув карту в іншу папку, не розуміючи, що я просто копіював усі свої речі. В якийсь момент Visual Studio повернувся до мого постійного користувача, я "втратив" очікувані зміни, і помітив, що нові зміни, що очікують, були внесені в моє старе відображення.

Коли я спробую перевстановити нове місцеположення (з яким пов’язаний обліковий запис SU), намагаючись відновити зміни, що очікують, це скаже мені, що воно вже було внесено до SU, і я не міг цього зробити, але мав жодного способу видалення карти! Показати віддалені робочі простори, видаливши всі робочі простори за допомогою командного рядка тощо. Тоді я подумав, "а що, якщо він насправді пов'язаний з обліковим записом користувача SU на моєму комп'ютері , а не з доменом". Я зареєструвався локально, і я досить впевнений, що для цього користувача була створена робоча область. Я видалив карту і зміг повернутися до мого постійного користувача та перезавантажити без проблем.

Мораль історії, можливо інший користувач увійшов у систему на тій же машині, що не видно з поточно зареєстрованого користувача, тому ви не можете видалити або навіть побачити відображення.


1

Якщо згадані підказки не допомагають вам, завантажте Team Foundation Sidekick і за допомогою цього ви можете видалити робочі простори.


1

Файл -> Контроль джерела -> Додатково -> Робочі простори -> Виберіть робочу область в "Керуйте робочими просторами" і натисніть "Редагувати". Потім ви можете змінити локальну папку.


1

Усі відповіді тут здаються частковими відповідями, які працюють не у всіх випадках. Я думаю, що ця відповідь спрацює у всіх випадках, якщо ви маєте належні дозволи.

  1. Відкрийте командний рядок розробника. У моєму випадку я перевірив це в командному рядку Developer для VS 2019.
  2. Введіть цю команду: tf workspaces

Зауважте, що результати можуть перелічити пару таблиць з однаковою структурою. Якщо ви бачите лише одну таблицю, то деякі припущення в інших відповідях можуть працювати для вас. Однак якщо ви бачите дві або більше таблиць, то ця рядок колекції є важливою! Для наших прикладів ми припустимо, що у вас є дві колекції (дві нічим не відрізняються від чотирьох інших, ніж одна більш втомлива, ніж інша, щоб пройти її):

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

Пощастило, ви дізнаєтесь, з ким із цих двох ви хочете працювати. Однак, якщо вам потрібно переглядати їх усі, то вам доведеться робити це по одній колекції за раз. Кожна "Колекція" тут збігається з "Організацією" в Azure DevOps (я думаю).

Якщо ви не використовуєте цю деталь про колекцію, можливо, ви побачите повідомлення про помилку:

Неможливо визначити сервер управління джерелом.

  1. Далі введіть цю команду для колекції, яку ви хочете використовувати:

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

Це дасть вам набагато повнішу картину того, з чим ви маєте справу. Це стає особливо неприємним, якщо у вас було кілька облікових записів MSA та Org, які потрапляли на це репо з одного комп’ютера. Насправді у вас може бути кілька, здавалося б, однакових записів. Якщо ви спробуєте видалити їх на основі того, що ви зараз знаєте, це може не спрацювати. Але ми можемо отримати більше інформації.

  1. Далі ми запустимо ту саму команду, але додамо /format:xmlїї до кінця:

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

Це дає вам купу XML з деякими додатковими властивостями. Ті, що нас, мабуть, хвилюють найбільше - Псевдоніми власника. Це відсутність інформації, яку вам потрібно зараз пройти та видалити ці робочі простори. Без цієї додаткової інформації легко вдарити стіну і застрягнути повідомленням про помилку:

Вкажіть одну робочу область.

  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, усі з тією самою адресою електронної пошти, яку ви використовували з однієї робочої станції. І тоді він стає надзвичайно божевільним, якщо декілька з усіх використовували для робочої області ім'я за замовчуванням: ім'я хоста вашого комп’ютера. У моєму випадку у мене було чотири робочі простори, всі з тим самим іменем робочої області, іменем власника та іменем комп'ютера (тобто перший запит без форматування XML мав 4 однакових запису!).


Я не знаю, чи є більш графічний спосіб управління ними, ніж цей. Я подивився і ще не знайшов кращого способу, ніж цей.


0

Ви також можете видалити відображення tfs, просто відредагувавши свій .sln файл та видаливши елемент GlobalSection для прив'язки tfs.


0

Спасибі за вашу допомогу!

Знайдіть проблемну робочу область SELECT * FROM tbl_Workspace WHERE WorkspaceName типу "% xxxxx%"

Знайти потрібну робочу область SELECT * FROM tbl_Workspace WHERE WorkspaceName типу "% zzzzz%"

Виберіть Редагувати Топ 200 tbl_WorkingFolder, а потім знайдіть відображення проблеми SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = Проблема WorkspaceId зверху

Змініть WorkspaceId на потрібний WorkspaceId

Нарешті перейдіть до Провідника проектів та виберіть Видалити картографування у проекті

Змініть VB6 MSSCCPRJ.SCC, щоб відповідати бажаному робочому простору


0

Спочатку завантажте та встановіть плагін Team Explorer у вашій системі, а потім перейдіть до «Провідник управління джерелами». На панелі навігації знайдіть поле Робоча область та натисніть опцію Робочі простори. Натиснувши на пункт Робочі простори, ви побачите всі робочі простори, які відображені. Натисніть кнопку видалити та видаліть зіставлення потрібних робочих просторів.


0

Запустіть, tf workspacesщоб переглянути поточні відображення робочої області. Результат виглядає так:

введіть тут опис зображення

Потім бігайте tf workspace /delete "{workspace};{user}

Використовуючи висновок вище, щоб видалити робочу область bi:

tf workspace /delete bi;James Wierzba


Це не працює для мене. Я отримую таку помилку: сталася помилка аргументу: для видалення робочої області потрібно ім’я одного робочого простору.
Червоний М

0

Нижче наведено етапи видалення відображення проекту з TFS:

(1) Натисніть кнопку Перегляд.

(2) Відкрийте Провідник команди

(3) Клацніть на управління джерелами

(4) Клацніть правою кнопкою миші ваш проект / Каталог

(5) Клацніть на Видалити картографування

(6) Нарешті видаліть локальний каталог форми проекту.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.