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


135

У меня был проект в 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 »

так что я предполагаю, что он даже не кешируется.

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


3
Рабочие пространства TFS должны содержать уникальные сопоставления рабочих папок для каждого компьютера , а не только для пользователя и компьютера. Возможно ли, что вы настроили рабочую область TFS, которая содержит в D:\jenkins\jobs\ProjectName1-Build\workspaceкачестве другого пользователя TFS во время тестирования?
Эдвард Томсон

9
Попробуйте это на компьютере сборки - C: \ Users \ {UserName} \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Cache и удалите все, что находится в папке
SoftwareCarpenter

Столкнулся с той же проблемой, мой случай был пустым пространством в начале имени рабочей области
Даниэль Рапапорт

Я недавно переназначил свой корень TFS и имел ту же проблему. Оказывается, в моем случае, TFS explorer просто показывал старый (последний) путь, который я выбрал в «Local Path:», и он был серым и не кликабельным (синим). Я сделал последнюю версию, и она поместила все в правильное новое отображение, а затем путь стал синим / активным. Если вы удалили все старые сопоставления, возможно, он просто показывает последнюю локальную папку, в которую вы получили последнюю версию, а не там, где теперь будут помещаться файлы под новым сопоставлением.
Богатый М

Ответы:


196

От ВС:

  1. Откройте Team Explorer
  2. Нажмите Source Control Explorer
  3. В навигационной панели окна инструментов есть выпадающий список с пометкой «Рабочие пространства».
  4. Расширьте его и нажмите на опцию «Workspaces ...» (да, немного не интуитивно понятно)
  5. Откроется окно «Управление рабочими пространствами». Нажмите «Изменить», и вы можете добавить / удалить / отредактировать ваше рабочее пространство

менеджер исходного кода

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

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

показать удаленные рабочие пространства

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

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


1
Он делает это на сборочной машине, и, вероятно, там не установлена ​​визуальная студия.
Эрик Фанкенбуш

7
Спасибо, это работает, еще одна причина, почему TFS ужасна.
schmoopy

6
Я удалил все рабочие пространства. затем добавил новый, снова получая ошибку, что моя папка уже сопоставлена ​​с wrokspace (старого / удаленного) URL TFS. Невозможно сопоставить с новым TFS / рабочей областью. М использует против 2015
Сами

11
Не работает Рабочее пространство остается несмотря ни на что. перезагрузка, перезагрузка против, молиться, нажать пятки вместе 3x ... ничего ... не уйдет. Не могу сопоставить с новым ... не могу работать.
Бо д'Амор,

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 \ Cache и \ 5.0 \ Cache, от которого я избавился. На случай, если это кому-нибудь поможет.
fooser

1
Это сработало и для меня. Pro Совет, прежде чем удалять файлы в Cacheпапке, потратьте минуту, чтобы скопировать все файлы и папки и сохранить их в резервной папке, на случай, если она не будет работать для вас, и вам придется восстановить свой TFS в прежнее состояние ,
Шива

На самом деле вы можете удалить все под, Team Foundationесли вы хотите выполнить чистую повторную синхронизацию.
Супер резкий

21

Выполните следующие действия, чтобы удалить сопоставление из TFS:

  1. открыто team explorer
  2. щелчок Source Control
  3. Щелкните правой кнопкой мыши на вас project
  4. Нажмите на Remove Mapping

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

1
Не существует в Visual Studio Premium 2013
черт,

1
Я думаю, что эта опция доступна только при нацеливании на первоначально сопоставленную папку. Поэтому, если я сопоставляю весь командный проект с рекурсией, я могу только разархивировать весь командный проект, в то время как, если я просто сопоставлю папку решения, то смогу отобразить это достаточно счастливо.
Джефф

@Sami После того, как вы щелкнете правой кнопкой мыши по вашему проекту, Remove Mappingвы увидите его в Advancedразделе
Uday

11

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

Так что есть обходной путь, который определенно будет работать.

  1. Перейти в «Team-Explorer»
  2. Перейти к «Source-Control»
  3. Перейти в раскрывающееся меню "Рабочая область"
  4. Нажмите на «Рабочие пространства ...»
  5. Появится всплывающее окно
  6. Нажмите «Показать удаленные рабочие пространства»
  7. Теперь удалите конфликтующее рабочее пространство, и вы можете продолжить работу.

Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится.
alextansc

ссылка теперь будет работать нормально. Спасибо alextansc
smthakur19

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

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

1
битая ссылка, процедура НЕ работает. Рабочее пространство остается
Бо Д'Амор

7

Пожалуйста, следуйте инструкциям ниже:

Ctrl + Run 

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

%LocalAppData%\Microsoft\Team Foundation

Вы получите другую версию TFS, например введите описание изображения здесь

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

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

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

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

Спасибо.


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

Мне удалось удалить сопоставление с помощью команды / newowner, как предложено здесь:

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

Команда открыла окна Edit Workspace, где я удалил сопоставление. После этого я удалил рабочую область, которая мне не нужна.


2

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

  1. Откройте командную строку Visual Studio
  2. Сначала закройте Visual Studio или команда delete может не удалить рабочую область
  3. Вывести список команд рабочего пространства -> tf /? чтобы найти доступные вам команды из версии TFS.
  4. Список рабочих пространств -> TF рабочих пространств
  5. Удалить рабочее пространство -> tf workspace YourWorkspace / delete

Это способ, если у вас есть две рабочие области с одинаковым именем, но для разных пользователей (например, ваша обычная учетная запись и учетная запись администратора). Эти два рабочих пространства не будут отображаться как два пространства, если вы откроете представление «Рабочие пространства», как указано в других ответах - в списке будет только одно для текущего пользователя. В моем случае это было второе рабочее пространство (для учетной записи администратора), которое блокировало операции. Если вы сделаете, как описано в этом ответе, шаг 5 позволит вам удалить второе рабочее пространство, используя «tf workspace YourWorkspace; HiddenUser / delete».
Х. Брайткройц

2

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

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

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

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

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


1

Наконец удалил ВСЕ рабочие пространства и начал с нуля. Исправлена.


1

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

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

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


1

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


1

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


1

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

  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\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%"

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

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

Наконец, зайдите в Project Explorer и выберите «Удалить сопоставление» в проекте.

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


0

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


0

Запустите tf workspacesдля просмотра текущих отображений рабочей области. Вывод выглядит так:

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

Тогда беги tf workspace /delete "{workspace};{user}

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

tf workspace /delete bi;James Wierzba


Это не работает для меня. Я получаю следующую ошибку: Произошла ошибка аргумента: одно имя рабочей области требуется для удаления рабочей области.
Red M

0

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

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

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

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

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

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

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.