Visual Studio와 Internet Explorer의 어처구니 없는 충돌
회사에서 기존에 서비스 되고 있는 제품의 호환성 때문에 Visual Studio 6을 쭉 사용해 오다가 올해부터 MSDN 계약에 의해 Visual Studio 2008을 사용할 수 있게 되어 업무 관련 툴을 제작하는데 사용해 왔습니다. 그러다가 최근 Internet Explorer 8 버전이 새로 출시되어 설치를 미루다 최근 설치했습니다. 여기까지는 좋았는데.. 갑자기 심각한 문제가 발생했습니다.
바로 Visual Studio 2008에서 사용중인 Visual C++에서 클래스(Class)에 메소드(Method)나 변수를 추가 하기 위해 위주드(Wizard)를 실행할때마다 스크립 오류가 발생하고 일부 메뉴(함수 반환 타입등등)가 나타나지 않았습니다. 그래서 설마 같은 마이크로소프트(Microsoft)제품이고 마이크로소프트사에서 Visual Studio 2008과 Internet Explorer 8을 같이 사용하는 사람이 분명 많을텐데 둘의 충돌은 아니겠지? 하는 생각이 들어 다른 원인을 생각해봤습니다. 하지만 아무리 생각해도 Visual Studio 2008이 정상 동작하지 않는건 Internet Explorer 8이 문제인것 같았습니다. 그래도 Intenret Explorer 8 개발자도 분명 Visual Studio 2008을 사용할텐데.. 그리고 회사에 품질보증팀(QA)팀도 존재할텐데 그럴일이 없을꺼라 생각하고 웹 검색을 했습니다.
결과는 충격적이였습니다. 같은 회사에서 개발 및 서비스하는 Visual Studio 2005, Visual Studio 2008과 Internet Explorer 8 로 인해 문제가 된 것이라는 결과가 나왔습니다. 달리 말하면 무료로 배포 및 서비스하는 Internet Explorer 8 버전으로 인해 고가로 판매되고 서비스되는 Visual Studio 2005, Visual Studio 2008이 정상 작동하지 못하게 된 것 입니다. 너무나 황당하더군요.
인터넷상에 해결 방법이 있지만 마이크로소프트(Microsoft)사의 공식 답변은 없는것 같아서 공식 해결방법이 있는지 확인하기 위해 마이크로소프트(Microsoft)사에 전화를 걸어 문의를 했습니다. 그랬더니 유료 서비스인 MSDN서비스를 이용해 문의를 해야 한다는 어처구니 없는 답변을 들었습니다. 자신들의 제품 충돌로 발생한 문제를 유료로 돈을 내고 서비스를 이용해야 하다니.. 물론 제가 근무하는 회사는 MSDN계약이 되어 있어 이를 이용할 수 있습니다. 하지만 이미 알려진 문제인데 이를 문의하는데 돈을 지불해야 한다는건 좀 아닌것 같더군요. 물론 상담원은 마이크로소프트(Microsoft)사의 버그일 경우 유료가 무료로 전환된다고 얘기 했지만 상담원 자체가 이렇게 알려진 문제를 인지하지 못하고 있다는 것도 이상하고... 마이크로소프트(Microsoft)사의 공식 해결책이 나온것도 아니고...
이번 사태 덕분에 전 클래스 뷰에는 분명 함수가 존재하는데 실제 코드상에는 존재하지 않고.. 같은 이름의 변수를 생성할 수도 없는 일이 발생해 이를 해결하기 위해 모든 파일들을 뒤졌지만 결국 해당 변수명이 존재하는 파일을 찾지 못해 Visual Studio 2008에서 개발중이던 프로그램의 솔루션을 새로 구성해 다시 코딩했습니다.
좀 실망스러운 하루였습니다. 마이크로소프트(Microsoft)사에서 판매하는 마우스(Mouse)가 고장나면 교환해주던 서비스가 정작 자신들의 주력 사업인 소프트웨어에선 이렇게 안이하게 대응하는게 좀 아닌것 같았습니다.
다음은 제가 찾은 해결 방법 입니다.
참고로 구글(google)에게 물어보려고 키워드를 치는 순간 얼마나 많은 질의(query)가 있었으면 이런 결과가 나올까 하는 생각이 들더군요.

http://blogs.msdn.com/eva/archive/2009/03/30/internet-explorer-8-visual-c.aspx
이런 해결 방법을 왜 마이크로소프트(Microsoft) 본사가 아닌 Visual Studio 개발팀에서 나오는거죠?
이 글을 보시는 분들은 저처럼 어이 없는 일을 겪지 않았으면 합니다.


