Microsoft MVP성태의 닷넷 이야기
오류 유형: 160. Visual Studio 2010 Team Explorer 설치 오류 [링크 복사], [링크+제목 복사],
조회: 25565
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Visual Studio 2010 Team Explorer 설치 오류

윈도우 8에서 Visual Studio 2010을 새로 설치했는데, 한가지 문제가 발생했습니다.

다소 심각한데, "Team Explorer"가 인식되지 않아서 TFS에 등록된 프로젝트를 열려고 하면 다음과 같은 오류가 발생했습니다.

tfs_explorer_1.png

Source Control Plug-in

The project or solution you opened requires a source control plug-in that is unavailable at this time.

To enable source control, please confirm that the plu-in has been installed correctly and then restart Microsoft Visual Studio.


심지어, tf.exe를 실행할 때 다음과 같은 오류 메시지를 확인할 수 있습니다.

c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE>tf workspace
Method not found: 'System.String Microsoft.TeamFoundation.VersionControl.Client.Workspace.get_OwnerDisplayName()'.

확인을 위해 .NET Reflector로 "C:\Windows\assembly\GAC_MSIL\Microsoft.TeamFoundation.VersionControl.Client\10.0.0.0__b03f5f7f11d50a3a\Microsoft.TeamFoundation.VersionControl.Client.dll" 파일을 열어 보니 정말로 "OwnerDisplayName"이라는 속성은 존재하지 않았습니다.

tfs_explorer_2.png

혹시나 싶어, 비교를 위해 team explorer가 잘 실행되고 있는 PC 의 "Microsoft.TeamFoundation.VersionControl.Client.dll" 을 봐도 역시 "OwnerDisplayName" 라는 속성은 존재하지 않았습니다. 게다가 2개의 DLL 모두 버전이 10.0.40219.1로 동일했습니다. 오호... 그렇다면 이번에는 tf.exe 의 버전을 비교해 보았습니다.

tfs_explorer_3.png

이 부분에서 다소 이해가 되지 않습니다. "정상동작"하고 있는 tf.exe는 오히려 버전이 10.0.30319.1 로 DLL 버전(10.0.40219.1)과 맞지 않습니다. 반면, 정상동작하고 있지 않는 제 컴퓨터의 tf.exe는 DLL 버전과 동일했습니다.

상황을 정리해 보면,

Visual Studio 2010 최초 설치: 10.0.30319.1 버전이 적용됨
	Microsoft.TeamFoundation.VersionControl.Client.dll: 버전 10.0.30319.1
	tf.exe: 버전 10.0.30319.1

SP1 설치: 10.0.40219.1 버전이 적용됨
	Microsoft.TeamFoundation.VersionControl.Client.dll: 버전 10.0.40219.1
	tf.exe: 버전 10.0.40219.1

이렇게 버전이 맞춰집니다. 하지만, 정작 40219 버전의 tf.exe는 40219 버전의 dll 과 연동이 되지 않는 것입니다. 반대로 30319 버전의 tf.exe는 정상 실행되고.




해결은 어떻게 했을까요?

일단, SP1을 제거하고 Visual Studio 2010도 제거한 다음 다시 설치를 했습니다. 그렇게 했더니 Visual Studio 에서 Team Explorer가 보이지 않는 문제는 해결했지만 여전히 "c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" 파일은 40219 버전이었고 실행시 get_OwnerDisplayName 속성 오류는 동일하게 나타났습니다. 그래도 Visual Studio 2010 에서 TFS 연결/사용하는 것에는 아무런 지장이 없습니다.

문제가 된다면, Symbol/Source 서버를 이용하는 상황입니다.

TFS Team Build + Source Server = 소스 코드 디버깅
; https://www.sysnet.pe.kr/2/0/600

위의 글에도 나오지만, Visual Studio는 내부적으로 외부 소스 코드를 가져올 때 tf.exe 를 호출합니다. 허긴... 그렇게 어려운 상황도 아닙니다. 그냥 다른 컴퓨터에서 30319 버전의 tf.exe 를 복사해와서 해결하면 되니까! ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 8/19/2012]

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)
13728정성태9/7/20248502C/C++: 172. Windows - C 런타임에서 STARTUPINFO의 cbReserved2, lpReserved2 멤버를 사용하는 이유파일 다운로드1
13727정성태9/6/20249170개발 환경 구성: 722. ARM 플랫폼 빌드를 위한 미니 PC(?) - Khadas VIM4 [1]
13726정성태9/5/20248218C/C++: 171. C/C++ - 윈도우 운영체제에서의 file descriptor와 HANDLE파일 다운로드1
13725정성태9/4/20246798디버깅 기술: 201. WinDbg - sos threads 명령어 실행 시 "Failed to request ThreadStore"
13724정성태9/3/20249646닷넷: 2296. Win32/C# - 자식 프로세스로 HANDLE 상속파일 다운로드1
13723정성태9/2/20249053C/C++: 170. Windows - STARTUPINFO의 cbReserved2, lpReserved2 멤버 사용자 정의파일 다운로드2
13722정성태9/2/20246885C/C++: 169. C/C++ - CRT(C Runtime) 함수에 의존성이 없는 프로젝트 생성
13721정성태8/30/20246673C/C++: 168. Visual C++ CRT(C Runtime DLL: msvcr...dll)에 대한 의존성 제거 - 두 번째 이야기
13720정성태8/29/20247040VS.NET IDE: 193. C# - Visual Studio의 자식 프로세스 디버깅
13719정성태8/28/20247063Linux: 79. C++ - pthread_mutexattr_destroy가 없다면 메모리 누수가 발생할까요?
13718정성태8/27/20248909오류 유형: 921. Visual C++ - error C1083: Cannot open include file: 'float.h': No such file or directory [2]
13717정성태8/26/20248488VS.NET IDE: 192. Visual Studio 2022 - Windows XP / 2003용 C/C++ 프로젝트 빌드
13716정성태8/21/20247655C/C++: 167. Visual C++ - 윈도우 환경에서 _execv 동작 [1]
13715정성태8/19/20248839Linux: 78. 리눅스 C/C++ - 특정 버전의 glibc 빌드 (docker-glibc-builder)
13714정성태8/19/20247429닷넷: 2295. C# 12 - 기본 생성자(Primary constructors) (책 오타 수정) [3]
13713정성태8/16/20248957개발 환경 구성: 721. WSL 2에서의 Hyper-V Socket 연동
13712정성태8/14/20248260개발 환경 구성: 720. Synology NAS - docker 원격 제어를 위한 TCP 바인딩 추가
13711정성태8/13/20248752Linux: 77. C# / Linux - zombie process (defunct process) [1]파일 다운로드1
13710정성태8/8/20249327닷넷: 2294. C# 13 - (6) iterator 또는 비동기 메서드에서 ref와 unsafe 사용을 부분적으로 허용파일 다운로드1
13709정성태8/7/20248672닷넷: 2293. C# - safe/unsafe 문맥에 대한 C# 13의 (하위 호환을 깨는) 변화파일 다운로드1
13708정성태8/7/20248889개발 환경 구성: 719. ffmpeg / YoutubeExplode - mp4 동영상 파일로부터 Audio 파일 추출
13707정성태8/6/20248883닷넷: 2292. C# - 자식 프로세스의 출력이 4,096보다 많은 경우 Process.WaitForExit 호출 시 hang 현상파일 다운로드1
13706정성태8/5/20248627개발 환경 구성: 718. Hyper-V - 리눅스 VM에 새로운 디스크 추가
13705정성태8/4/20248868닷넷: 2291. C# 13 - (5) params 인자 타입으로 컬렉션 허용 [2]파일 다운로드1
13704정성태8/2/20249568닷넷: 2290. C# - 간이 dotnet-dump 프로그램 만들기파일 다운로드1
13703정성태8/1/20248140닷넷: 2289. "dotnet-dump ps" 명령어가 닷넷 프로세스를 찾는 방법
1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...