Как удалить отображение рабочей области 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].

Таким образом, приведенное выше показывает, что существует рабочее пространство, поэтому я выполнил приведенную ниже команду, чтобы удалить его

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 "

так что я думаю, что это даже не кешируется.

Так в чем причина ошибки и как ее устранить?

Ответ 1

От VS:

  • Откройте Team Explorer
  • Нажмите "Проводник управления источниками"
  • В навигационной панели окна инструмента появляется надпись "Рабочие пространства".
  • Расширьте его и нажмите на кнопку "Рабочие области..." (да, немного неинтуитивно).
  • Появится окно "Управление рабочими пространствами". Нажмите "Изменить", и вы можете добавить/удалить/изменить рабочее пространство.

source control explorer

От VS на другой машине

Вам не нужно, чтобы VS был на той же машине, что и призыв, так как вы можете редактировать удаленные призывы! В диалоговом окне, которое появляется, когда вы нажимаете элемент "Рабочие места...", появляется флажок "Показать удаленные рабочие пространства" - просто отметьте это, и вы получите список всех ваших призывов:

show remote workspaces

Из командной строки

Вызовите "tf workspace" из командной строки разработчика. Он откроет "Управление рабочими пространствами" напрямую!

Ответ 2

Я столкнулся с той же проблемой и смог исправить ее, вручную удалив все файлы в кэше TFS, расположенные здесь:

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

или 4.0, 5.0 и т.д.

Ответ 3

Для удаления сопоставления из TFS выполните следующие действия:

  • Открыть team explorer
  • Нажмите Source Control
  • Щелкните правой кнопкой мыши по project
  • Нажмите Remove Mapping

Ответ 4

Ошибка является подлинной. Возможно, вы создали рабочую область с тем же именем на другом компьютере. Теперь вы можете изменить машину с другим именем машины.

Итак, вот работа, которая, безусловно, будет работать. Работает вокруг.

  • Перейдите в раздел "Team-Explorer"
  • Перейдите в раздел "Управление источником"
  • Перейдите в раскрывающееся меню рабочей области
  • Нажмите "Рабочие области..."
  • Появится всплывающее окно
  • Нажмите "Показать удаленные рабочие пространства"
  • Теперь удалите рабочее пространство, которое конфликтует, и вы можете продолжить свою работу.

Ответ 5

Пожалуйста, выполните следующие действия:

Ctrl + Run 

Копировать и Прошлое

%LocalAppData%\Microsoft\Team Foundation

Вы получите другую версию TFS, например, enter image description here

Нажмите на каждую папку, и вы получите

enter image description here

Теперь удалите все данные в этой папке.

Откройте студию Visual.

Благодарю.

Ответ 6

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

Как восстановить доступ к рабочей области Team Foundation Server?

Команда открыла окна Edit Workspace, в которых я удалил отображение. Впоследствии я удалил рабочее пространство, в котором я не нуждался.

Ответ 7

Обновление 2019-01-23

Если вы неоднократно получаете следующую ошибку The workspace wkspaceEg does not exist… даже после использования правильного имени пользователя (wkspcOwnerDomain\wkspcOwnerUsername) в команде tf workspace области 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>>. Игнорировать базу данных MSSQL Tfs_Configuration. Я не уверен, но если у вас нет базы данных Tfs_<<your_TFS_collection_name>>, настройки могут быть в Tfs_DefaultCollection данных 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>>

Ответ 8

Ни один из ответов здесь не удалил мои рабочие области. Но вот одно решение, которое может сработать для вас.

  • Откройте командную строку Visual Studio
  • Закрыть Visual Studio сначала или команда удаления не может удалить рабочее пространство
  • Список команд рабочего пространства → tf/? чтобы найти команды, доступные вам из версии TFS.
  • Список рабочих областей → tf рабочих пространств
  • Удалить рабочую область → tf workspace YourWorkspace/delete

Ответ 9

Вам не нужно удалять всю папку Cache. вы теряете все настройки/предпочтения Сопоставление рабочих пространств хранится в файле с именем:

VersionControl.config под локальными настройками пользователей/каталогами данных приложений. расположенный здесь, в окнах 7:

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

где x = 3,0,4,0, 5,0, 6,0 и т.д.

Внутри этого вы найдете папки с именем named, откройте каждый из них, вручную отредактируйте предварительно указанный файл, чтобы удалить отображение рабочей области (путь каталога будет присутствовать в атрибуте mappedpaths) из этой локальной папки на сервер TFS ( который больше не используется).

Ответ 10

Наконец, удалил ВСЕ рабочие области и начал с нуля. Фиксированный.

Ответ 11

Мне было предложено войти на наш сервер TFS через Visual Studio, поэтому я использовал свою учетную запись SU, которая обычно требуется для доступа к серверу. Это привело к некоторым проблемам, и я закончил сопоставление с другой папкой, не понимая, что я только что воспроизвел все мои вещи. В какой-то момент Visual Studio вернулась к моему постоянному пользователю, я "потеряла" ожидающие изменения и заметила, что новые ожидающие изменения были помещены в моем старом сопоставлении.

Когда я попытаюсь переназначить новое место (с которым связана учетная запись SU) в попытке восстановить мои ожидающие изменения, он сказал бы, что он уже сопоставлен с SU, и я не мог этого сделать, но не смог удалить карту! Показывать удаленные рабочие пространства, удалять все рабочие области через командную строку и т.д. Затем я подумал: "Что, если это действительно связано с учетной записью пользователя SU на моем компьютере, а не с доменом". Я вошел в систему как мой SU локально, и, конечно же, для этого пользователя была настроена рабочая область. Я удалил сопоставление и смог вернуться к своему постоянному пользователю и переназначить без проблем.

Мораль истории, возможно, другой пользователь зарегистрирован на том же компьютере, который не отображается у текущего пользователя, поэтому вы не можете удалить или даже увидеть сопоставления.

Ответ 12

Файл → Управление исходным кодом → Дополнительно → Рабочие пространства → Выберите рабочее пространство в разделе "Управление рабочими областями" и нажмите "Изменить". Затем вы можете изменить локальную папку.

Ответ 13

Вы также можете удалить отображение tfs, просто отредактировав файл .sln и удалив элемент GlobalSection для привязки tfs.

Ответ 14

Спасибо за вашу помощь!

Найти рабочее пространство задач SELECT * FROM tbl_Workspace WHERE WorkspaceName как% xxxxx%

Найти нужное рабочее пространство SELECT * FROM tbl_Workspace WHERE WorkspaceName как% s zzzzz%

Выберите "Правка" Топ 200 tbl_WorkingFolder, затем найдите сопоставление проблем SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = проблема WorkspaceId сверху

Измените WorkspaceId на желаемый файл WorkspaceId

Наконец, перейдите в Project Explorer и выберите Remove Mapping в проекте

Изменить VB6 MSSCCPRJ.SCC для соответствия требуемому рабочему пространству

Ответ 15

Сначала загрузите и установите плагин Team Explorer в свою систему, а затем перейдите в проводник исходного кода. В навигационной панели найдите поле "Рабочая область" и нажмите "Рабочая область". После нажатия на кнопку "Рабочие места" вы увидите все рабочие области, которые отображаются. Нажмите кнопку "Удалить" и удалите отображение необходимых рабочих пространств.

Ответ 16

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

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

Затем запустите tf workspace /delete "{workspace};{user}

Используя вывод выше, чтобы удалить рабочее пространство bi:

tf workspace /delete bi;James Wierzba

Ответ 17

Если упомянутые подсказки вам не помогают, загрузите Team Foundation Sidekick и, используя его, вы можете удалить рабочие пространства.

Ответ 18

Ниже приведены шаги по удалению сопоставления проекта из TFS:

(1) Нажмите на кнопку просмотра.

(2) Откройте Team Explorer

(3) Нажмите на источник контроля

(4) Щелкните правой кнопкой мыши на ваш проект/каталог

(5) Нажмите "Удалить сопоставление".

(6) Окончательно удалите проект из локальной директории.

Ответ 19

Все ответы здесь, кажется, являются частичными ответами, которые не работают во всех случаях. Я думаю, что этот ответ будет работать во всех случаях, если у вас есть соответствующие разрешения.

  1. Откройте Командную строку разработчика. В моем случае я проверил это с помощью командной строки разработчика для VS 2019.
  2. Введите эту команду: tf workspaces

Обратите внимание, что результаты могут перечислить пару таблиц с идентичной структурой. Если вы видите только одну таблицу, то некоторые предположения в других ответах могут работать на вас. Однако, если вы видите две или более таблиц, то эта строка Collection важна! В наших примерах мы предполагаем, что у вас есть две коллекции (две не отличаются от четырех, кроме одной более утомительна, чем другая, чтобы пройти через нее):

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

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

Если вы не используете эту коллекцию, вы можете увидеть сообщение об ошибке:

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

  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\[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 с одним и тем же адресом электронной почты, который вы использовали на одной рабочей станции. И тогда это становится очень сумасшедшим, если несколько из них использовали имя по умолчанию для рабочей области: имя хоста вашего компьютера. В моем случае у меня было четыре рабочих пространства, все с одним и тем же именем рабочего пространства, именем владельца и именем компьютера (то есть первый запрос без форматирования XML содержал 4 одинаковые записи!).


Я не знаю, есть ли более графический способ управления этим, чем этот. Я посмотрел и еще не нашел лучшего способа, чем этот.