Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

TFVC(Team Foundation Version Control)에 참여시킨 프로젝트의 로컬 경로를 옮기는 방법.

사실, 가능한 이런 일이 없어야 하는 것이 가장 좋겠지요.
이런 일은, 개인 PC에 저장된 "프로젝트"의 위치가 변경이 되는 것이므로, 이런 것은 전체적인 개발 방법론을 아무리 잘 세워도 소용없는 일입니다. 예를 들어, 개발자가 자신의 하드 디스크 폴더를 정리하다가, 지금까지의 모든 프로젝트 파일이 다소 산만하게 구성되어 있다고 판단하고 새롭게 "D:\Workshop" 폴더를 만든 후 그 아래에 모두 옮기고 싶은 경우가 생길 수도 있습니다.

^^ 일단 한번 그런 생각을 하고 나면,,, 반드시 하고야 직성이 풀리는 사람이 있을 텐데요.(이 분야의 사람들이 그런 면이 좀 심하지요. ^^)

이번 토픽에서는, TFVC에 참여시킨 프로젝트의 로컬 폴더의 위치를 변경하는 것을 설명해 보겠습니다.

우선, (꼭 해야 하는 일이라기보다는.) 모든 파일을 깨끗하게 check-in 하시고요.
프로젝트의 폴더를 다른 폴더로 이동시킵니다. 그다음 Solution 파일을 더블 클릭을 하게 되면 ... (당연하게도) 다음과 같은 오류가 떨어지게 됩니다.

The solution appears to be under source control, but its binding information cannot be found. 
Because it is not possible to recover this missing information automatically, 
the projects whose bindings are missing will be treated as not under source control.

뒤이어, 다음과 같이 선택하도록 하는 창이 나옵니다.

소스 제어 오류


자, 목표는 간단합니다. 위의 오류 화면이 안 나오면 그만입니다. ^^
방법도 참 간단합니다. ^^ 단지, 아래에 제시한 대로, 따라하시면 됩니다.

1. VS.NET 2005 IDE를 실행시킵니다.

2. Team Explorer에서 해당 팀 프로젝트의 "Source Control"을 더블 클릭해서 "Source Control Explorer"를 실행시킵니다. (어떤 실행 경로를 거치든 상관없이 "Source Control Explorer"만 띄우면 됩니다.)

3. 아래와 같은 화면에서처럼, "Workspaces..."를 선택합니다.

Workspaces... 선택

4. "Manage Workspaces"에서 해당 컴퓨터를 선택하고, "Edit..." 버튼을 누르면 다음과 같은 상태가 됩니다.

Edit Workspaces

5. "Working folders:"에서, 해당하는 프로젝트를 선택하고 "Local Folder"를 바꿔줍니다.



이걸로 끝입니다. 이제 솔루션 폴더를 옮겼던 해당 폴더에 가서, 다시 Solution 파일을 더블클릭을 해서 실행시키면 정상적으로 소스 제어하에 열리는 것을 확인하실 수 있습니다.






[최초 등록일: ]
[최종 수정일: 7/7/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13953정성태6/16/202536스크립트: 78. 파이썬 - 소스 코드의 파일 경로를 지정한 모듈 로드
13952정성태6/15/2025359닷넷: 2336. C# - IValueTaskSource로 인해 주의가 필요한 ValueTask 호출파일 다운로드1
13951정성태6/15/2025333오류 유형: 964. Outlook - 일정이 "You cannot make changes to contents of this read-only folder." 오류 메시지로 삭제가 안 되는 경우
13950정성태6/12/20251184닷넷: 2335. C# - 간단하게 구현해 보는 IValueTaskSource 예제파일 다운로드1
13949정성태6/11/2025996오류 유형: 963. SignTool - "Error: SignerSign() failed." (-2146869243/0x80096005)
13948정성태6/10/2025640오류 유형: 962. 파이썬 - Linux 환경 + TCP 서버 소켓을 사용하는 프로세스 종료 후 재실행하는 경우 "OSError: [Errno 98] Address already in use" 오류 발생
13947정성태6/9/20251385개발 환경 구성: 750. 파이썬 - Azure App Service에 응용 프로그램 배포 후의 환경
13946정성태6/9/20251613개발 환경 구성: 749. 파이썬 - Azure App Service에 응용 프로그램 배포하기 전의 환경
13945정성태6/7/20251531오류 유형: 961. 파이썬 + conda - mysqlclient 사용 시 "NameError: name '_mysql' is not defined" 에러
13944정성태6/7/20255275오류 유형: 960. The trust relationship between this workstation and the primary domain failed. - 네 번째 이야기
13943정성태6/6/20251757개발 환경 구성: 748. Windows + Foundry Local - 로컬에서 AI 모델 활용
13942정성태6/5/20251417오류 유형: 959. winget 설치 시 "0x80d02002 : unknown error"
13941정성태6/2/20251345닷넷: 2334. C# - cpuid 명령어를 이용한 CPU 제조사 문자열 가져오기파일 다운로드1
13940정성태6/1/20251734C/C++: 188. C++의 32비트 + Release 어셈블리 코드를 .NET으로 포팅할 때 주의할 점파일 다운로드1
13939정성태5/29/20252112오류 유형: 958. NVIDIA Triton Inference Server - version `GLIBCXX_3.4.32' not found (required by /opt/tritonserver/backends/python/triton_python_backend_stub)
13938정성태5/29/20251638개발 환경 구성: 747. 파이썬 - WSL/docker에 구성한 Triton 예제 개발 환경
13937정성태5/24/20251525개발 환경 구성: 746. Windows + WSL2 환경에서 (tensorflow 등의) NVIDIA GPU 인식
13936정성태5/23/20251387개발 환경 구성: 745. Linux / WSL 환경에 Miniconda 설치하기
13935정성태5/20/20251328오류 유형: 957. 파이썬 - pip 사용 시 "ImportError: cannot import name 'html5lib' from 'pip._vendor'" 오류
13934정성태5/20/20251843스크립트: 77. 파이썬 - 'urllib.request' 모듈의 명시적/암시적 로딩 차이
13933정성태5/19/20251459오류 유형: 956. Visual Studio 2022가 17.12 버전부터 업데이트 되지 않는다면?
13932정성태5/18/20251704스크립트: 76. 파이썬 - Version 문자열 다루기(semver 패키지)
13931정성태5/17/20252006스크립트: 75. 파이썬 - Cython 기본 예제 및 컴파일
13930정성태5/17/20251699개발 환경 구성: 744. 파이썬 - Windows embeddable package 환경에서 외부 패키지 사용하는 방법(ex: UFO² 환경 구성)
13929정성태5/16/20251781오류 유형: 955. 파이썬 - "Windows embeddable package" REPL 환경에서 "NameError: name 'exit' is not defined"
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...