Почему мой путь к рабочей области TFS продолжает отображаться сам? - PullRequest
6 голосов
/ 06 марта 2009

Мы используем Visual Studio 2008 / TFS 2008.

У нас есть небольшая команда разработчиков, и по какой-то причине периодически, когда кто-либо из нас "Get Latest", один из наших путей самостоятельно переходит на другой путь. Это приводит к тому, что «Get Latest» начинает удалять файлы, потому что путь изменился. Каждый раз один и тот же путь отображается на неверный путь.

  1. Где хранятся определения рабочей области?
  2. Есть ли что-то, что мы могли проверить в TFS, что является причиной этого?

Ответы [ 5 ]

6 голосов
/ 03 июля 2009

У меня было такое, когда я получал, открывая решение. Если решение содержит относительные пути к другим проектам, не входящим в его папку, которые по-разному отображаются в вашем рабочем пространстве, GET скажет мне, что он переназначен для учета этого. Проблема в том, что решения, которые он принимает, совершенно неверны.

Единственный способ обойти это - убедиться, что все разработчики используют одну и ту же структуру, которую использует sourcec control и hasv, представленные в каждой рабочей области.

Хотя попасть туда было больно. в основном каждый должен был удалить все локальные копии всех файлов, восстановить рабочее пространство, ВЫБРАТЬ НЕТ, ЧТОБЫ ПОЛУЧИТЬ, КОГДА ИЗМЕНИЛО РАБОЧЕЕ МЕСТО, закрыть VS, открыть, ПОЛУЧИТЬ ПОСЛЕДНЕЕ.

Причиной этого было то, что если копии проектов существовали локально, даже если эти проекты НЕ были открыты, GET все равно был бы неправильным. Это было неприятно, потому что при проверке различий в тех проектах с последними не было никаких изменений, но при открытии решения, которое содержало этот проект, ссылки dll в этом проекте автоматически изменялись. В этот момент никаких изменений не ожидается. Но после создания изменения будут сохраняться и приводить к отключению следующего ...

Я уверен, что это все неправильно, но это то, что случилось с нами на этой неделе.

1 голос
/ 02 апреля 2011

Хорошо, я понял. Вот решение.

Прежде всего установите Visual Studio 2008 SP1. (Я полагаю, у вас уже установлен VS 2008 и Team Explorer).

Теперь запустите Visual Studio 2008, Goto Source Control и удалите рабочее пространство. Создайте новое рабочее пространство и создайте папку управления исходным кодом для сопоставления локальной папки. Нажмите ОК. Когда он спрашивает "Рабочая область была изменена , вы хотите получить последнюю версию", Выберите НЕТ.

Сейчас Закрыть Visual Studio 2008 .

Повторно откройте Visual Studio 2008 и перейдите к управлению исходным кодом и Получить спецификацию (с обоими флажками, отмеченными для перезаписи файлов).

Если у вас есть веб-решение asp.net, сейчас самое время создать пул приложений, настроить веб-сайт в IIS , настроить правильную аутентификацию и авторизацию. В противном случае это необязательно!

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

Выполнив вышеуказанный шаг, , если ваш веб-сайт настроен, Visual Studio 2008 автоматически обнаружит ваш веб-сайт , который вы настроили, и предложит вам подтвердить его. Нажмите ОК.

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

Реальная проблема заключается в Visual Studio 2008 с пакетом обновления 1 . Без которого отображение TFS будет повреждено. Если SP1 установлен и вышеприведенное руководство выполнено, проблем не будет.

1 голос
/ 06 марта 2009

Это не нормальное поведение - звучит как-то странно. Просто хотел проверить - все, что вы делаете, это просто получить из Source Control Explorer правильно? Также - вы все на разных машинах? (Т. Е. Вы не передаете образ виртуального ПК или что-либо еще, где несколько компьютеров имеют одинаковое имя)

Первое, что я хотел бы проверить, это зайти в File, Source Control, Manage Workspaces и посмотреть на сопоставления вашей рабочей папки как до, так и после get и посмотреть, меняется ли что-нибудь. Это не должно - если это произойдет, это может дать нам ключ к пониманию того, что происходит.

1 голос
/ 30 апреля 2009

Вы также можете попробовать очистить кеш рабочего пространства и переназначить его:

SET AppDataTF=%USERPROFILE%\Local Settings\Application Data\Microsoft\Team Foundation
SET AppDataVS=%APPDATA%\Microsoft\VisualStudio
IF EXIST "%AppDataTF%\1.0\Cache" rd /s /q "%AppDataTF%\1.0\Cache" > NUL
IF EXIST "%AppDataTF%\2.0\Cache" rd /s /q "%AppDataTF%\2.0\Cache" > NUL
IF EXIST "%AppDataVS%\8.0\Team Explorer" rd /s /q "%AppDataVS%\8.0\Team Explorer" > NUL
IF EXIST "%AppDataVS%\9.0\Team Explorer" rd /s /q "%AppDataVS%\9.0\Team Explorer" > NUL
0 голосов
/ 06 марта 2009

Определения рабочей области хранятся на сервере.

Если вы перейдете в командную строку и наберете «tf workspace», вы увидите определение вашего рабочего пространства.

...