Microsoft MVP성태의 닷넷 이야기
오류 유형: 160. Visual Studio 2010 Team Explorer 설치 오류 [링크 복사], [링크+제목 복사],
조회: 17977
글쓴 사람
정성태 (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)
13567정성태2/27/20241833오류 유형: 898. .NET Framework 3.5 이하에서 mscoree.tlb 참조 시 System.BadImageFormatException파일 다운로드1
13566정성태2/27/20241887오류 유형: 897. Windows 7 SDK 설치 시 ".NET Development" 옵션이 비활성으로 선택이 안 되는 경우
13565정성태2/23/20241729닷넷: 2219. .NET CLR2 보안 모델에서의 개별 System.Security.Permissions 제어
13564정성태2/22/20241968Windows: 259. Hyper-V Generation 1 유형의 VM을 Generation 2 유형으로 바꾸는 방법
13563정성태2/21/20241960디버깅 기술: 196. windbg - async/await 비동기인 경우 메모리 덤프 분석의 어려움
13562정성태2/21/20242001오류 유형: 896. ASP.NET - .NET Framework 기본 예제에서 System.Web에 대한 System.IO.FileNotFoundException 예외 발생
13561정성태2/20/20242080닷넷: 2218. C# - (예를 들어, Socket) 비동기 I/O에 대한 await 호출 시 CancellationToken을 이용한 취소파일 다운로드1
13560정성태2/19/20242124디버깅 기술: 195. windbg 분석 사례 - Semaphore 잠금으로 인한 Hang 현상 (닷넷)
13559정성태2/19/20242951오류 유형: 895. ASP.NET - System.Security.SecurityException: 'Requested registry access is not allowed.'
13558정성태2/18/20242198닷넷: 2217. C# - 최댓값이 1인 SemaphoreSlim 보다 Mutex 또는 lock(obj)를 선택하는 것이 나은 이유
13557정성태2/18/20241925Windows: 258. Task Scheduler의 Author 속성 값을 변경하는 방법
13556정성태2/17/20241987Windows: 257. Windows - Symbolic (hard/soft) Link 및 Junction 차이점
13555정성태2/15/20242136닷넷: 2216. C# - SemaphoreSlim 사용 시 주의점
13554정성태2/15/20241866VS.NET IDE: 189. Visual Studio - 닷넷 소스코드 디컴파일 찾기가 안 될 때
13553정성태2/14/20241953닷넷: 2215. windbg - thin/fat lock 없이 동작하는 Monitor.Wait + Pulse
13552정성태2/13/20241904닷넷: 2214. windbg - Monitor.Enter의 thin lock과 fat lock
13551정성태2/12/20242100닷넷: 2213. ASP.NET/Core 웹 응용 프로그램 - 2차 스레드의 예외로 인한 비정상 종료
13550정성태2/11/20242215Windows: 256. C# - Server socket이 닫히면 Accept 시켰던 자식 소켓이 닫힐까요?
13549정성태2/3/20242531개발 환경 구성: 706. C# - 컨테이너에서 실행하기 위한 (소켓) 콘솔 프로젝트 구성
13548정성태2/1/20242345개발 환경 구성: 705. "Docker Desktop for Windows" - ASP.NET Core 응용 프로그램의 소켓 주소 바인딩(IPv4/IPv6 loopback, Any)
13547정성태1/31/20242113개발 환경 구성: 704. Visual Studio - .NET 8 프로젝트부터 dockerfile에 추가된 "USER app" 설정
13546정성태1/30/20241997Windows: 255. (디버거의 영향 등으로) 대상 프로세스가 멈추면 Socket KeepAlive로 연결이 끊길까요?
13545정성태1/30/20241880닷넷: 2212. ASP.NET Core - 우선순위에 따른 HTTP/HTTPS 호스트:포트 바인딩 방법
13544정성태1/30/20241895오류 유형: 894. Microsoft.Data.SqlClient - Could not load file or assembly 'System.Security.Permissions, ...'
13543정성태1/30/20241927Windows: 254. Windows - 기본 사용 중인 5357 포트 비활성화는 방법
13542정성태1/30/20241920오류 유형: 893. Visual Studio - Web Application을 실행하지 못하는 IISExpress - 두 번째 이야기
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...