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

Восстановить привязки контроля источника TFS

У меня есть около дюжины проектов Visual Studio 2010, над которыми я работал, которые версируются в репозитории TFS. Недавно я отправился в отпуск и обновил свою компьютерную ОС до 64-разрядной версии Windows 7.

Я переустановил Visual Studio, и я могу подключиться к моему Team Foundation Server и увидеть мои проекты... только мои привязки работают неправильно. В большинстве случаев ни один из моих файлов, похоже, не находится под контролем источника, но в нескольких проектах мои привязки исходного кода в корневой папке в порядке, но не работают в подпапках от корня проекта.

Я попытался отменить привязку, открыть исходный элемент управления и удалить папку и получить последнюю версию. Ни одна из них не устранила проблему.

Любые мысли о восстановлении привязок?

UPDATE

После тряски я вижу, что на пути к моим "недействительным" проектам, похоже, добавлена ​​дополнительная папка... Я понятия не имею, как она туда попала, но это, похоже, отбрасывает мои сопоставления.

4b9b3361

Ответ 1

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

В Visual Studio:

  • Откройте решение проблемы.
  • Выберите решение в обозревателе решений
  • Выберите Файл- > Управление источником- > Изменить контроль источника
    Visual Studio 2013/2015: Файл- > Управление источником- > Дополнительно- > Изменить контроль источника
  • Отвяжите любые проекты, которые связаны, но не работают правильно.
  • Привязать все проекты, которые теперь не связаны.

Ответ 2

Если у вас есть неверная привязка и отключение/привязка, проект не работает, попробуйте следующее:

  • Отменить проект в Изменить источник управления
  • Разгрузить проект в обозревателе решений (для проекта выгрузки проекта "сайт-проект" не находится в контекстном меню, а в меню "Веб-сайт" ).
  • Обновить проект в обозревателе решений

Работает для меня все время...

Ответ 3

Я согласен с Джоэлем - обычно отвязывание и повторное связывание исправляет его.

Однако, если пересоединение не работает, вы можете попробовать напрямую отредактировать файлы решений. Я видел случаи, когда привязки TFS находятся в файле решения дважды и кажутся неточными по какой-либо причине. У них может быть неправильное количество проектов и проектов, которые не имеют ничего общего, но все еще перечислены в файле решения.

Когда это происходит (довольно редко), я редактирую файлы и делаю их так, как они должны быть. Например, я удалю 2-й набор привязок TFS (GlobalSection (TeamFoundationVersionControl) или исправлю любые другие несоответствия, которые я вижу. Затем я перезагружаю решение и обычно исправляю проблему. Я бы определенно использовал это исправление в качестве последнего средства хотя.

Ответ 4

Следующие шаги помогли мне исправить недопустимые проекты в Visual Studio 2015...

  • Нажмите "Недействительный" проект в обозревателе решений.
  • Откройте "Файл → Управление источником → Дополнительно → Изменить контроль источника"
  • Выберите проект и нажмите "Отменить".
  • В обозревателе решений разгрузите проект.
  • В обозревателе решений перезагрузите проект.

Ссылка: https://nooblikeaboss.wordpress.com/2015/02/17/how-to-fix-tfs-invalid-binding-in-visual-studio/

Ответ 5

Я впервые увидел эту проблему при открытии существующего (и ранее работающего) решения в недавно установленной Visual Studio с недавно созданной рабочей областью.

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

Ответ 6

Когда я переименовал свое решение, я столкнулся с этой ошибкой. Я пробовал все вышеперечисленное, и он не разрешил ситуацию.

Фактическое решение для меня состояло в том, чтобы отредактировать определение сборки с новым именем решения

  • Мои сборки > Щелкните правой кнопкой мыши определение сборки > Изменить мою сборку Определение > Процесс
  • Обратите внимание, что "1. Требуется > Решение для сборки" ссылается на старое имя Soluton.
  • Нажмите "..." рядом с "Решение для сборки",
  • Найдите новое решение. Нажмите
  • Сохранить определение сборки
  • Перестроить

Ответ 7

Была точно такая же проблема, но потом в визуальной студии 2017 года.

Отвязывание и повторное связывание не помогли мне. В конце концов я решил эту проблему, отсоединив все проекты в soluting + самом файле решения, а затем выполнил "Получить последнюю версию" для всей ветки. Это привело к ряду конфликтов: "Файл с неконтролируемой версией или доступный для записи файл с таким именем уже существует локально". Устраните эти ошибки, выбрав "Перезаписать локальный файл или параметр папки" Наконец это решило это для меня

Ответ 8

Если вы все еще боретесь с недопустимым статусом привязки TFS, я сообщу здесь "жемчужину", найденную на старом (2005) форуме MSDN (https://social.msdn.microsoft.com/Forums/en-US/801b2490-776d-43a8-afef-adcedd78f02d/vsts-change-source-control-status-invalid?forum=tfsgeneral):

Это связано с эвристикой, используемой в коде проверки для привязки. Эвристика выполняет проверку существования всех файлов в проекте и возвращает "допустимый", только если хотя бы половина файлов присутствует в репозитории контроля версий. Поскольку у веб-проектов нет файла проекта, любой файл, находящийся в папке веб-проекта, считается "частью проекта". По-видимому, у вас было достаточно неконтролируемых файлов, чтобы склонить процент контролируемых файлов проекта к 50%, что привело к недопустимому состоянию.

Другими словами, если у вас есть проект, в котором много неконтролируемых файлов (это особенно верно, если вы отказываетесь от регистрации для таких папок, как node_modules или public в веб-проекте), и количество этих файлов составляет более 50% общее количество файлов в папке, статус привязки TFS недействителен независимо от того, что вы делаете.

Я мог проверить это правило, просто удалив правильное количество файлов, пока статус привязки не стал недействительным, и просто добавив новый (неконтролируемый), чтобы получить недействительный статус.

Это поведение все еще присутствует в VS 2019 6.3 (DevOps Azure).

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

Ответ 9

Я вижу многочисленные ответы, предлагающие различные решения здесь. У меня это случалось несколько раз в прошлом, и обычно снятие привязки/повторное связывание делали свое дело. Однако недавно я только что решил эту проблему, и НИЧЕГО, похоже, не получилось.

Итак, я просто удалил каталоги решений на моей машине, а затем получил последнюю версию из источника. Работал как шарм. Тем не менее, все мои изменения были проверены, поэтому мне не пришлось беспокоиться о потере чего-либо. YMMV.

Ответ 10

Убедитесь, что решение уже добавлено в исходный код: Файл > Управление источником > Добавить решение в исходное управление.