Jak mogę odzyskać moje rozwiązanie w Visual Studio z powrotem online w TFS?

242

Miałem moje rozwiązanie w Visual Studio 2012 (które jest pod kontrolą źródła TFS) otwarte, a serwer TFS (2010) nie działał. Kiedy następnie dokonałem zmiany w jednym z plików i próbowałem go zapisać, pojawiło się pytanie, czy chcę zastąpić plik, mówiąc, że serwer TFS nie działa (nie pamiętam dokładnych słów), a następujący komunikat pojawił się w okno Wyjście:

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

Jak sprawić, by zmiana pliku była rozpoznawana jako oczekująca na zmianę i całe rozwiązanie z powrotem online?

Appulus
źródło

Odpowiedzi:

504

Szukałem rozwiązania online i znalazłem to rozwiązanie, ale nie byłem zbyt zainteresowany zmianą rejestru.

Znalazłem lepszy sposób: prawym przyciskiem myszy na nazwę rozwiązanie na samym szczycie Solution Explorer i wybrać Go Online opcję . Kliknięcie tego pozwoliło mi wybrać pliki, które zostały zmienione, kiedy byłem offline i ponownie wprowadzić rozwiązanie w tryb online.

Po znalezieniu rozwiązania znalazłem następujący wątek forum msdn, który potwierdził powyższe.

Appulus
źródło
1
Pracował dla mnie. Dziękuję Ci.
Bijimon,
2
Pracowałem dla mnie, wielkie dzięki. Dziwnie byłoby dostać się do tego rejestru.
Nick N.
Naprawdę tego potrzebowałem dzisiaj. Dziękujemy za udzielenie odpowiedzi. Działa świetnie.
Tony Abrams
2
Dlaczego to nie pojawia się pierwsze. Prawie przegapiłem tę odpowiedź. :(
Adrian
4
To najlepsza odpowiedź i działa również w programie Visual Studio 2017. Nie trzeba edytować rejestru.
Wayland Young,
9

Zmień nazwę odpowiedniego pliku .SUO rozwiązania. Plik SUO zawiera status TFS (online / offline), pośród wielu innych gadżetów.

Zrób to tylko wtedy, gdy „kliknięcie prawym przyciskiem myszy nazwy rozwiązania u góry Eksploratora rozwiązań i wybranie opcji Przejdź do trybu online” nie powiedzie się (ponieważ np. Zainstalowałeś podgląd VS2015).

Wolfgang Grinfeld
źródło
8

Przejdź do File > Source Control > Go Online, wybierz zmienione pliki i zakończ proces.

Hadagalberto Junior
źródło
6

(Dodatkowy krok w stosunku do powyższego rozwiązania, jeśli brakuje wartości rejestru AutoReconnect lub Offline)

Dla programu Visual Studio 2015, wersja 14

  1. Wyłącz wszystkie wystąpienia VS
  2. HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0 \ TeamFoundation \ Instances {YourServerName} \ Collections {TheCollectionName} (Aby przejść do tego katalogu w systemie Windows, naciśnij klawisz Windows + R i wyszukaj „regedit”)
  3. Ustaw zarówno wartość Offline, jak i AutoReconnect na 0.
  4. Jeśli brakuje jednego z tych atrybutów (w moim przypadku brakowało mi AutoReconnect), kliknij prawym przyciskiem myszy i utwórz nową wartość DWORD (32-bitową) z żądaną brakującą nazwą, AutoReconnect lub Offline.
  5. Ponownie upewnij się, że obie wartości są ustawione na zero.
  6. Uruchom ponownie swoje rozwiązanie

Informacje dodatkowe: blog MSDN - Kiedy i jak moje rozwiązanie przechodzi w tryb offline?

Ariella
źródło
3

Używam Visual Studio 2017 15.4.0 wersję. Zwłaszcza gdy zacząłem używać opcji lekkiego rozwiązania, ta sprawa offline mi się przydarzyła. Próbowałem powyżej rozwiązań, które są:

  1. Próbowałem użyć opcji regedit, ale nie widzę odpowiednich opcji menu. Nie działało
  2. Kliknij prawym przyciskiem myszy rozwiązanie, pojawi się opcja online, a kiedy ją wybiorę, wyświetli się następujący komunikat o błędzie: „Rozwiązanie jest offline, ponieważ powiązany z nim Team Foundation Server jest offline. Nie można określić obszaru roboczego dla tego rozwiązania”.

Następnie z menu Plik -> Kontrola źródła -> Zaawansowane -> Zmień kontrolę źródła . Widziałem moje pliki. Zaznaczam je, a następnie wybieram opcję bindowania. To działało dla mnie.

çetin çelik
źródło
2

Możesz przejść do korzystania z edytora rejestru.

  1. Wyłącz wszystkie wystąpienia VS.
  2. Otwórz edytor rejestru i przejdź do: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances
  3. Znajdź odpowiedni serwer, np .: team32system1
  4. Przejdź do Collection i nex DefaultCollection: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances \ team32system1 \ Collections \ DefaultCollection
  5. Ustaw klucz Offline na 0
  6. Otwarte rozwiązanie w VS. Następnie powinno pojawić się wyskakujące okienko, które pytanie chcesz wprowadzić w tryb online.
użytkownik3683748
źródło
stackoverflow.com/questions/261525/... Wolę następującą stronę niż to rozwiązanie;). Dobrze ponownie powiązać wszystkie csproj
Nordes
1

Żadne z powyższych rozwiązań nie działało dla mnie w Visual Studio Community 2017 v15.7.1. Jakoś nie było opcji „Przejdź do trybu online” w menu kontekstowym. Próbowałem edytować rejestr zgodnie z sugestią tutaj, ale wyświetlało to tylko błąd, że nie można znaleźć powiązania. To, co zadziałało, to ponowne powiązanie rozwiązania z serwerem z menu Zmień kontrolę źródła.

Przejdź do File->Source Control->Advanced->Change Source Controli upewnij się, że Twoje rozwiązanie jest powiązane z kontrolą źródła. Jeśli nie (jak mój), a następnie kliknij przycisk powiązania, automatycznie przeszuka on internetowy serwer TFS i powiąże z nim Twoje rozwiązanie.

Saad
źródło
0

znalazłem inną drogę bez większego wysiłku.

Wystarczy kliknąć prawym przyciskiem myszy rozwiązanie, a następnie kliknąć Cofnij oczekujące zmiany.

Następnie VS poprosi cię o plik zmieniony automatycznie, w którym chcesz cofnąć lub nieokreślony plik.

W tym miejscu możesz kliknąć „nie” dla takiego pliku, w którym dzieje się rzeczywista zmiana, reszta jest po prostu cofana. To nie utraci twoich faktycznych zmian

Jay Magwadiya
źródło
0

Musisz wykonać dwa kroki tutaj, aby uzyskać kompletne rozwiązanie

Najpierw kliknij rozwiązanie, które masz otwarte, a następnie przejdź do Plik-> Kontrola źródła -> Przejdź do trybu online, a następnie odznacz wszystkie pliki, które są wyświetlane jako zmodyfikowane, gdy byłeś offline.

Nie rób Pobierz najnowszą wersję z Eksploratora kontroli źródła. Spowoduje to wyświetlenie okna dialogowego potencjalnie pokazującego kilka plików z prośbą o rozwiązanie konfliktu. Zamiast tego zrób to

W Eksploratorze kontroli źródła kliknij prawym przyciskiem myszy folder, który chcesz uzyskać najnowszy, a następnie Zaawansowane - Pobierz konkretną wersję. W menu rozwijanym dla typu wersji wybierz opcję Najnowsze, a następnie zaznacz pierwsze pole wyboru z napisem Zastąp zapisywalne pliki, które nie zostały wyewidencjonowane. Spowoduje to automatyczne zsynchronizowanie folderu z najnowszym na serwerze

Abhijit Vyas
źródło