Как мне вернуть решение в Visual Studio онлайн в TFS?

243

У меня было свое решение в Visual Studio 2012 (которое находится под контролем исходного кода TFS), и сервер TFS (2010) не работал. Затем, когда я внес изменение в один из файлов и попытался его сохранить, я получил приглашение спросить, хочу ли я перезаписать файл, говоря, что сервер TFS не работает (не могу вспомнить точные слова), и следующее сообщение появилось в Окно вывода:

This solution is offline.  [Team Foundation Server: http://tfs1:8080/tfs/server]
The solution was offline during its previous session and will remain offline.

Как заставить изменение файла быть признанным как находящееся среди ожидающих изменений и всего решения в сети?

Appulus
источник

Ответы:

505

Я искал решение в Интернете и нашел это решение, но не слишком заинтересовался изменением реестра.

Я нашел лучший способ: щелкните правой кнопкой мыши на имя решения прямо в верхней части обозревателя решений и выберите Go Online вариант . Нажатие на это позволило мне выбрать файлы, которые были изменены, когда я был в автономном режиме, и снова сделать решение онлайн.

После нахождения решения я нашел следующую ветку форума msdn, которая подтвердила вышесказанное.

Appulus
источник
1
Работал на меня. Спасибо.
Биджимон
2
Работал на меня, большое спасибо. Было бы странно попасть в реестр для этого.
Ник Н.
Я действительно нуждался в этом сегодня. Спасибо за предоставленный ответ. Работал отлично.
Тони Абрамс
2
Почему это не появляется первым. Я почти пропустил этот ответ. :(
Адриан
4
Это лучший ответ и также работает в Visual Studio 2017. Нет необходимости редактировать реестр.
Уэйленд Янг
9

Переименуйте соответствующий файл решения .SUO. Файл SUO содержит статус TFS (онлайн / офлайн) среди множества других вкусностей.

Делать это можно только в том случае, если «щелкнуть правой кнопкой мыши имя решения в верхней части обозревателя решений и выбрать параметр« Подключиться к сети »» не удается (например, если вы установили предварительный просмотр VS2015).

Вольфганг Гринфельд
источник
8

Перейдите File > Source Control > Go Online, выберите файлы, которые вы изменили, и завершите процесс.

Хадагальберто Джуниор
источник
6

(Дополнительный шаг из решения выше, если вам не хватает значения реестра AutoReconnect или Offline)

Для Visual Studio 2015, версия 14

  1. Выключите все экземпляры VS
  2. HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0 \ TeamFoundation \ Instances {YourServerName} \ Collections {TheCollectionName} (чтобы попасть в этот каталог в Windows, нажмите клавишу Windows + R и найдите «regedit»)
  3. Установите оба значения Offline и AutoReconnect на 0.
  4. Если вам не хватает одного из этих атрибутов (в моем случае мне не хватало AutoReconnect), щелкните правой кнопкой мыши и создайте новое значение DWORD (32-разрядное) с требуемым отсутствующим именем, AutoReconnect или Offline.
  5. Опять же, убедитесь, что оба значения установлены на ноль.
  6. Перезапустите свое решение

Дополнительная информация: блог MSDN. Когда и как мое решение отключается?

Ariella
источник
3

Я использую версию Visual Studio 2017 15.4.0 . Особенно, когда я начал использовать опцию облегченного решения, со мной случилась эта офлайновая вещь. Я попытался выше решения, которые являются:

  1. Попытка regedit вариант, но не может видеть соответствующие пункты меню. Не сработало
  2. Щелкните правой кнопкой мыши на решении, есть вариант выхода в Интернет, и когда я выбираю его, выдается следующее сообщение об ошибке: «Решение находится в автономном режиме, поскольку связанный с ним Team Foundation Server находится в автономном режиме. Невозможно определить рабочую область для этого решения».

Затем выберите Файл -> Контроль источника -> Дополнительно -> Изменить контроль источника . Я видел мои файлы. Я выбираю их, а затем выбрал вариант связывания. Это сработало для меня.

Четин Челик
источник
2

Вы можете пойти использовать редактор реестра.

  1. Выключите все экземпляры VS.
  2. Откройте редактор реестра и перейдите по адресу: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances
  3. Найдите подходящий сервер, например: team32system1
  4. Перейдите в коллекцию и следующую коллекцию DefaultCollection: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances \ team32system1 \ Collections \ DefaultCollection
  5. Установите Offline ключ на 0
  6. Открытое решение в VS. После этого должно появиться всплывающее окно, какой вопрос вы хотели бы привести в онлайн-режим.
user3683748
источник
stackoverflow.com/questions/261525/… Я предпочитаю следующую страницу, чем это решение;). Хорошо, чтобы заново связать все csproj
Nordes
1

Ни одно из перечисленных выше решений не работало для меня в Visual Studio Community 2017 v15.7.1. Каким-то образом в контекстном меню не было опции «Перейти в Интернет». Я попытался отредактировать реестр, как предложено здесь, но это только показало мне ошибку, что он не мог найти привязку. То, что сработало для меня, это привязка решения к серверу из меню Change Source Control.

Перейдите на File->Source Control->Advanced->Change Source Controlстраницу и убедитесь, что ваше решение связано с вашим источником контроля. Если нет (как у меня), то нажмите на кнопку привязки, он автоматически найдет онлайн сервер TFS и свяжет с ним ваше решение.

Саад
источник
0

я нашел другой путь без особых усилий.

Просто щелкните правой кнопкой мыши свое решение, а затем нажмите Отменить в ожидании изменений.

Затем VS попросит вас изменить файл, который вы хотите отменить или не конкретный файл.

В этом вы можете нажать «нет» для такого файла, где происходят реальные изменения, остальные просто отменяются. Это не потеряет ваши реальные изменения

Джей Магвадия
источник
0

Вам нужно сделать два шага здесь для полного решения

Сначала нажмите на открытое решение, а затем перейдите в Файл-> Контроль исходного кода -> Перейти в Интернет. Затем снимите флажки со всех файлов, которые отображаются как измененные, пока вы были в автономном режиме.

Не делайте Получить последнюю версию из Source Control Explorer. Это приведет к появлению диалогового окна, в котором будут показаны файлы с просьбой разрешить конфликты. Вместо этого сделай это

В обозревателе исходного кода щелкните правой кнопкой мыши папку, из которой вы хотите получить последнюю версию, а затем выберите «Дополнительно» - «Получить конкретную версию». В раскрывающемся списке для типа версии выберите «Последние», а затем установите первый флажок «Перезаписать записываемые файлы, которые не извлечены». Это автоматически синхронизирует вашу папку с последними на сервере.

Абхиджит Вьяс
источник