Подтвердить что ты не робот

Существует ли временное решение, когда TFPT "не может определить рабочее пространство", и обновление кеша не работает?

У меня возникли проблемы с запуском TFPT.exe даже после попытки обновить настройки кэшированного рабочего пространства в соответствии с обычными советами в Интернете. См. Ниже, чтобы сообщить о том, что я пробовал и вижу. Может ли кто-нибудь объяснить, почему "tf get" способен отделить рабочее пространство, но "tfpt annotate" терпит неудачу?

C:\tfsproj> set tfptcmd="C:\Program Files (x86)\Microsoft Team Foundation Server 2010 Power Tools\TFPT.exe"
C:\tfsproj> set tfcmd="C:\Program Files (x86)\Microsoft Visual Studio   10.0\Common7\IDE\TF.exe"
C:\tfsproj> %tfcmd% workspaces /s:http://tfs:8080/tfs/Apps
Collection: tfs\Apps
Workspace Owner          Computer Comment
--------- -------------- -------- ---------------------------------------------
DAVID     David_Zarlengo DAVID

C:\tfsproj> %tfcmd% get /preview
C:\tfsproj\src\:
Replacing Readme.txt

C:\tfsproj> %tfptcmd% annotate src\Readme.txt
Unable to determine the workspace

Когда я редактирую рабочую область в Visual Studio 2010, сетка "Рабочие папки" содержит 3 строки, одна из которых "Active, $/Foo, C:\tfsproj", поэтому я предполагаю, что папка правильно отображена.

перекрестная ссылка на Team Foundation Server - Электроинструменты и надстройки

4b9b3361

Ответ 1

После того, как вы посмотрите на это, выяснится, что 'C:\tfsproj' является символической ссылкой каталога к 'C:\some\nested\path'. Запуск команды TFPT из вложенного пути работает, как ожидалось.

Интересно, что рабочее пространство TFS было сопоставлено с вложенным путем, поэтому удивительно, что команды TF (например, tf get/preview) могли корректно работать из пути псевдонимов.

Я подозреваю, что TFPT не правильно использует символические ссылки каталога NTFS при определении рабочей области.

Ответ 2

Это предложение аналогичное обсуждение на форумах MSDN помогло мне:

Вам нужно убедиться, что вы выполняете команды из сопоставленного папке, вы можете запустить tf workfold, чтобы увидеть, отображается ли текущая папка или нет (в вашем случае выполните команды из C:\Temp)

Ответ 3

У меня была такая же ошибка, и проблема заключалась в том, что когда я запускал tfpt из командной строки, она решала версию силовых инструментов 2008 вместо версии 2010.

Запустите tfpt без аргументов, а в справке он выгружается, он сообщает, какая версия.

Ответ 4

Пока вы находитесь внутри рабочего каталога, tfpt annotate должен работать. Если вы получаете сообщение "Невозможно определить рабочее пространство", это проблема кэширования.

Если, как вы сказали, вы запустили tf workspaces/s: serverURL и все еще не решили, я бы попытался создать новую рабочую область и протестировать ее там. Если это работает, то что-то не так с рабочим пространством, и я просто удалю его и использую новый. Если оба потерпят неудачу, то, конечно, есть большая проблема, но именно так я бы приблизился к ней.

Ответ 5

Для тех, кто в vs2017: попробуйте запустить vs2015 (не 2017), обязательно подключитесь к серверу TFS в vs2015, а затем tfpt работает отлично.

Но обратите внимание: это звучит так, как команды tf powertools интегрируются в новую утилиту tfs, поэтому tfpt на самом деле не вещь в 2017 году. См. Daniel Mann здесь для получения дополнительной информации и полезных ссылок: tfpt.exe на Visual Studio 2017

Ответ 6

В моем случае, вот как я пришел к этой проблеме (сообщение об ошибке "Не удалось определить рабочую область" ) и как я ее решил.

Прибытие:

У меня был код. Разработка перенесена из ветки, в которой я работал (давайте назовем ее Branch1), в Branch2. Я должен был продолжить работу в Branch2. Я отложил изменения, перенастроил свою папку разработки в Branch2, открыл команду Developer Command Prompt для VS2012 и выполнил следующую команду

tfpt unshelve/migrate/source: "$/path/Branch1" /target: "$/path/Branch2" "Имя полки"

Здесь у меня есть сообщение "Невозможно..."

Решение:

В моем случае проблема заключалась в том, что при открытии командной строки его рабочий каталог был c:\program files\...\...Visual Studio 11.... Он работал (переносящий полки), когда я сменил рабочий каталог на директорию самой ветки: c:\MyBranchFolder