Как TFPT.exe находит рабочее пространство для работы?

При использовании tfpt из команды я получаю сообщение об ошибке:

PS D:\Main Line> tfpt uu /noget
Unable to determine the workspace.

Здесь я пытаюсь использовать команду Undo Unchanged, но я видел эту ошибку и с другими командами. Путь, на котором я нахожусь, - это точный путь, который отображается в моем рабочем пространстве TFS. Я также пробовал это, что не работает.

PS D:\Main Line> tfpt uu /recursive /noget 'D:\Main Line'
Unable to determine the workspace.

Я думал, что это просто использует текущий путь, чтобы понять это, но я не могу заставить его работать правильно. Кто-нибудь знает, как это работает?

Ответ 1

Я столкнулся с той же самой проблемой, я нашел ответ в нижней части страницы в одном из файлов справки, который шел с инструментами власти. (TFPTCommandLineTool.mht)

ошибки

Ошибка TFPT: невозможно определить рабочее пространство

При запуске tfpt с помощью команды, которая работает с системой контроля версий, вы можете получить одну из ошибок:

Unable to determine the workspace 
Unable to determine the source control server

Решения:

  • Запустите tfpt.exe из каталога, который уже сопоставлен с источником управления Team Foundation.
  • Обновите локальный кеш рабочей области с помощью команды tf workspaces. Инструмент tf.exe находится в Common7\IDE в папке установки Visual Studio. Если вы запускаете командную строку Visual Studio, вы можете запустить следующую команду (которая зависит от ваших версий TFS/VisualStudio - вам следует использовать версию, соответствующую используемой вами версии TFPT, например, если у вас TFPT для VS2015, используйте TF из командной строки VS2015):
    • VS 2008-2013/TFS 2008:
      • tf workspaces/s:serverURL
    • VS 2010-2013/TFS 2010 (и, возможно, более поздние версии):
      • tf workspaces/collection:collectionURL
    • VS 2008/TFS 2010 (и, возможно, более поздние версии):
      • tf workspaces/s:collectionURL
  • Если вы недавно установили Visual Studio 2012, возможно, вам придется подключить его к тому же серверу/коллекции TFS, которые вы использовали в Visual Studio 2010.

Ответ 2

При использовании tf workspaces /s:serverURL убедитесь, что вы используете правильный tf.exe!
У меня была такая же проблема, и я застрял, потому что использовал tf.exe из:

\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE

а не от:

\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

Ответ 3

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

переустановка TFPT из

https://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4-4d6d-9845-58a06545627f

исправил проблему для меня.

Ответ 4

На самом деле, хотя я считаю, что в некоторых случаях эти обходные пути могут исправить ситуацию, они не работают во всех случаях. И я сильно подозреваю, что в конечном итоге это указывает на то, что можно считать ошибкой где-то в коде PowerTools. Причина, по которой я говорю, заключается в том, что команда tf workspace не имеет проблем с обнаружением рабочей области на моей машине с консоли управления VS, но из той же самой консоли со всей информацией о том же пути информация TFPT не может обнаружить ее на моем круге что я пытаюсь. Я просто получил этот ноутбук и установил VS 2010, 2012 и 2013, а также соответствующие установки Power Tools и указал на набор проектов, которые в настоящее время охватывают несколько экземпляров TFS 2010 и TFS 2012. Из-за этого отношения "многие-ко-многим" я подозреваю, что где-то есть некорректная ссылка на сборку, некоторая комбинация факторов, GAC, Path, переменные среды, VS-установки, репозитории TFS. В каждой версии VS я попытался запустить исполняемый файл TFPT 2010 из команды VS 2010 и т.д. С оставшимися версиями и попробовал указанные выше обновления кэша рабочего пространства во всех их формах... ничего. Но, используя тот же проект, я подключился с старого сервера с VS 2010 и TFPT 2010 и отлично выполнил ту же команду. Поэтому я думаю, что это связано с тем, что работает в вашей системе, и в будущем я буду гораздо более скептически относиться к запуску разных версий бок о бок.

Ответ 5

Для пользователей Visual Studio 2017

У меня была такая же проблема при попытке запустить командную строку tfpt на новой машине с установленными VS215 и VS2017. Последняя версия инструмента tfpt на момент написания этой статьи - TFS Power Tools 2015. Это означает, что отображение локальной рабочей области должно быть загружено в VS2015, прежде чем инструмент tfpt сможет найти рабочую область.

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

Чтобы решить эту проблему, я открыл VS2015 и подключил Team Explorer к серверу TFS. Он сразу распознает отображение рабочей области, созданное в рамках VS2017. После этого утилита tfpt корректно работает под командными подсказками VS2015 и VS2017.