Visual Studio의 솔루션을 TFS에서 온라인으로 다시 가져 오려면 어떻게해야합니까?


242

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.

파일 변경 사항을 보류중인 변경 사항 중 하나로 간주하고 전체 솔루션을 다시 온라인 상태로 만드는 방법은 무엇입니까?

답변:


504

온라인으로 솔루션을 검색 하여이 솔루션을 찾았 지만 레지스트리 변경에 너무 열중하지 않았습니다.

더 나은 방법을 찾았습니다 . 솔루션 탐색기 상단에서 솔루션 이름을 마우스 오른쪽 버튼으로 클릭하고 온라인으로 이동 옵션을 선택하십시오 . 이것을 클릭하면 오프라인 일 때 변경된 파일을 선택하고 솔루션을 다시 온라인으로 만들 수있었습니다.

솔루션을 찾은 후 위의 내용을 확인한 다음 msdn 포럼 스레드 를 발견 했습니다.


1
나를 위해 일했다. 감사합니다.
Bijimon

2
고맙습니다. 이를 위해 레지스트리에 들어가는 것이 이상합니다.
Nick N.

나는 오늘 이것을 정말로 필요로했다. 답변을 주셔서 감사합니다. 잘 했어.
Tony Abrams

2
왜 이것이 먼저 나타나지 않습니까? 나는이 대답을 거의 놓쳤다. :(
Adrian

4
이것이 가장 좋은 대답이며 Visual Studio 2017에서도 작동합니다. 레지스트리를 편집 할 필요가 없습니다.
Wayland Young

9

솔루션의 해당 .SUO 파일 이름을 바꿉니다. SUO 파일에는 다른 많은 것들 중에서 TFS 상태 (온라인 / 오프라인)가 포함됩니다.

"솔루션 탐색기 상단에서 솔루션 이름을 마우스 오른쪽 버튼으로 클릭하고 온라인으로 이동 옵션을 선택하십시오"가 실패한 경우 (예 : VS2015 미리보기를 설치했기 때문에)에만이 작업을 수행하십시오.



6

(자동 다시 연결 또는 오프라인 레지스트리 값이없는 경우 위의 솔루션에서 추가 단계)

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. 오프라인 및 자동 다시 연결 값을 모두 0으로 설정하십시오.
  4. 해당 속성 중 하나가 누락 된 경우 (필자의 경우 AutoReconnect가 누락 됨) 마우스 오른쪽 단추를 클릭하고 원하는 누락 된 이름 (AutoReconnect 또는 Offline)으로 새 DWORD (32 비트) 값을 만듭니다.
  5. 다시, 두 값이 모두 0으로 설정되어 있는지 확인하십시오.
  6. 솔루션을 다시 시작하십시오

추가 정보 : 블로그 MSDN-솔루션은 언제 어떻게 오프라인 상태가 되나요?


3

내가 사용하고 비주얼 스튜디오에게 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. Collection 및 nex DefaultCollection으로 이동하십시오. HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances \ team32system1 \ Collections \ DefaultCollection
  5. 오프라인 키를 0으로 설정
  6. VS의 개방형 솔루션. 그런 다음 솔루션을 온라인 모드로 전환하려는 질문이 나타납니다.

stackoverflow.com/questions/261525/… 해당 솔루션보다 다음 페이지를 선호합니다.). 모든 csproj를 다시 바인딩하는 것이
좋습니다

1

위의 솔루션 중 어느 것도 Visual Studio Community 2017 v15.7.1에서 효과가 없었습니다. 어쨌든 상황에 맞는 메뉴에 "온라인 이동"옵션이 없었습니다. 여기에 제안 된대로 레지스트리 편집을 시도했지만 바인딩을 찾을 수 없다는 오류 만 표시되었습니다. 나를 위해 일한 것은 Change Source Control 메뉴에서 솔루션을 서버에 리 바인딩하는 것입니다.

이동 File->Source Control->Advanced->Change Source Control및 솔루션을 소스 제어에 바인더 제본되어 있는지 확인합니다. 그렇지 않은 경우 (나와 같이) 바인드 버튼을 클릭하면 온라인 TFS 서버를 자동으로 검색하여 솔루션을 리 바인드합니다.


0

많은 노력없이 다른 길을 찾았습니다.

솔루션을 마우스 오른쪽 버튼으로 클릭 한 후 보류중인 변경 사항 취소를 클릭하십시오.

다음으로 VS는 특정 파일을 실행 취소하거나 원하지 않는 부분의 파일을 변경하도록 요청합니다.

여기에서 실제 변경이 발생하는 파일에 대해 아니오를 클릭하면 나머지는 실행 취소됩니다. 이것은 실제 변화를 잃지 않을 것입니다


0

완전한 솔루션을 위해서는 여기에서 두 단계를 수행해야합니다.

먼저 열려있는 솔루션을 클릭 한 다음 파일-> 소스 제어-> 온라인으로 이동으로 이동 한 다음 오프라인 상태에서 수정중인 것으로 표시된 모든 파일을 선택 취소하십시오.

소스 제어 탐색기에서 최신 버전 가져 오기를 수행하지 마십시오. 그러면 충돌을 해결하도록 요청하는 많은 파일이 대화 상자에 표시 될 수 있습니다. 대신 이것을하십시오

소스 제어 탐색기에서 최신 폴더를 마우스 오른쪽 단추로 클릭 한 다음 고급-특정 버전 가져 오기를 클릭하십시오. 버전 유형 드롭 다운에서 최신을 선택한 다음 체크 아웃되지 않은 쓰기 가능한 파일 덮어 쓰기라는 첫 번째 확인란을 선택하십시오. 그러면 서버에서 자동으로 폴더가 최신 폴더와 동기화됩니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.