SimpleIsBest.NET

유경상의 닷넷 블로그

Visual Studio 2005 Service Pack 1 Released......

by 블로그쥔장 | 작성일자: 2006-12-22 오전 1:54:00
이 글은 오래된 전에 작성된 글입니다. 따라서 최신 버전의 기술에 알맞지 않거나 오류를 유발할 수 있습니다. 저자는 이 글에 대한 질문을 받지 않을 것입니다. 하지만 이 글이 리뉴얼 되면 이 글에 대한 질문을 하거나 토론을 할 수도 있습니다.

안녕하세요... 기다리던(?) Visual Studio 2005 서비스 팩 1 (SP1)이 발표되었습니다. 저도 며칠 전에 탱옹이 이 사실을 알려주어서 알게 되었습니다만... 어찌되었건 아직 모르는 개발자들이 많은 것 같아 몇 마디 적어 봅니다.

Visual Studio 2005 Service Pack 1

Visual Studio 2005 Service Pack 1 다운로드 링크

Visual Studio 2005 에 대한 서비스 팩이 출시되었다. Visual Studio 2003이 출시된 지 약 3년이 지난 지금에도 서비스 팩이 아직 안 나온 상황에서 출시된 지 1년여 밖에 되지 않은 2005에 대한 서비스 팩이 출시된 것이 상당히 놀랍다고 할 수 있겠다. 사실 2005의 완성도는 2003에 비해 훨씬 훌륭하다고 판단된다. 2003이 아직까지 이렇다 할 서비스 팩을 출시하지 않은 시점에 2005의 서비스 팩이 등장한 이유가 뭘까? 필자가 개인적으로 생각하는 배경을 좀 이야기하고 넘어 가자.

2006-12-22 업데이트
지난 9월에 Visual Studio 2003 SP1이 출시되었다... 왜 난 몰랐지? 관심이 없었던 게지 머... -_-; 암튼 꼰질러 주신 구루비님 감사합니다. 그래도 출시된지 2년 6개월(맞나? 이젠 이런 말하기도 무섭네... -_-)이란 시간이 흐른 후에 2003 SP1이 나왔지만 2005는 채 1년도 안되서 SP1이 나왔다는 거를 강조하고 싶다.

Background

개인적으로 2005는 매우 훌륭한 개발 환경을 제공한다. 2003에 비해 개발 생산성을 향상시켜줄 수 있는 많은 기능을 가지고 있다. 하지만 2005에서는 상당히 심각한 문제가 있는데... 그것이 바로 ASP.NET 웹 프로젝트에 대한 관리이다. 2005에서 ASP.NET 웹 프로젝트를 생성하면 프로젝트라기 보다는 파일 시스템의 폴더를 프로젝트 구조처럼 사용하고 있다. 즉, 웹 프로젝트의 대상이 되는 폴더에 존재한 모든 파일을 프로젝트의 일부로 간주한다는 말이다. 이 접근 방법은 예제 프로젝트나 작은 규모의 프로젝트에는 나쁘지 않은 방법이다. 수 년(?)간 MS에서 고민하여 만들었을 테지만 개발자들의 반응은 상당히 싸늘했다. 필자도 처음에는 편리하다는 생각을 가졌으나 큰 규모의 프로젝트를 진행하면서 다양한 문제들이 발견되곤 하였다. 여러 개발자들이 공동작업하기가 상당히 불편했으며 무엇보다도 빌드시간이 매우 느려진다는 단점을 가지고 있었기 때문이다.

빌드 시간이 느려지는 이유는 무엇일까? 웹 어플리케이션이란 것이 달랑 ASP.NET 웹 프로젝트 하나로 구성되는 경우는 상당히 드물다. COM+를 사용하거나 비즈니스 로직을 별도의 어셈블리로 작성하는 경우에는 많은 수의 라이브러리 프로젝트가 생성되기 마련이다. 이 때 프레젠테이션(presentation)을 맡고 있는 웹 어플리케이션의 특성상 이들 어셈블리들을 모두 참조해야만 한다. 이렇게 되면 중대형 웹 어플리케이션 프로젝트는 아주 많은 수의 어셈블리들을 참조해야 하고, DLL 참조가 아닌 프로젝트 참조를 하는 경우 솔루션의 크기는 엄청나게 커지게 된다. 디버깅 한번 하려고 해도 수 분 동안 컴파일러는 컴파일을 해야만 하는 쥐랄 같은 사건이 발생하게 되는 것이다.

이를 피하기 위해 하위 폴더를 기준으로 웹 프로젝트를 만들자니 ASP.NET 2.0에 새로이 추가된 App_Code 와 같은 폴더는 반드시 웹 어플리케이션의 루트 바로 밑에 존재해야만 하는 제약 사항이 등장하곤 한다. 즉, IIS의 웹 어플리케이션 별로 ASP.NET 웹 프로젝트를 만들지 않는 한 단일 웹 어플리케이션을 여러 ASP.NET 웹 프로젝트로 쪼개기 대략 난감하다는 말이 되겠다. 개발자가 많지 않은 중소형 프로젝트는 인내심을 갖고 개발을 해 볼만도 하지만 프로젝트 규모가 커지면 상당히 난감한 상황이 발생될 수도 있다.

이러한 점은 2005의 베타 시절부터 지적되어 왔었는데 MS도 귀를 막고 살지는 않는지라 2005가 발표된 지 약 6 개월 만에 Web Application Project Add-in 이란 것을 제공했다. 이 녀석은 2003의 웹 프로젝트와 동일한 방식으로 작동하는 웹 프로젝트를 말한다. 귀가 솔깃할 만도 하지만 이 애드인(add-in)은 영문판 Visual Studio 2005에서만 설치되는 고약한 녀석이다. 그래서 SP1에 Web Application Project가 추가된 것이 가장 큰 변화 사항이라고 할 수 있다.

이 외에 1년여 만에 VS 2005에 대한 서비스 팩이 등장할 수 밖에 없는 또 하나의 배경으로 Windows Vista를 생각해 볼 수 있다. Vista가 지원하는 개발도구는 Visual Basic 6.0(Visual Studio 6.0이 아니다 !)과 Visual Studio 2005 정도 이다. 2003은 공식적으로 지원하지 않는다. Vista를 설치하고 써본 사람은 알겠지만 보안이나 기타 API 등에 대한 변화가 상당한 수준이다. 이로 인해 Vista 정식버전에 2005를 설치하면 어플리케이션 호환성 문제가 발생한다는 경고 대화 상자(화면1 참조)가 나타난다. 2003이야 Vista에서 지원되지 않는다 치고, 2005는 서비스 팩이 나와 줘야 한다.


화면1. Vista에서 발생하는 VS 2003 호환성 경고 대화 상자 (2005도 동일하게 발생함)

What's New ?

Visual Studio 2005 SP1에 새로이 추가된 기능은 생각 보다 많지 않은 듯 하다. 관련 문서를 읽어 보더라도 Web Application Project 가 추가되었다는 것과 Team Foundation Server에 대한 패치, 그리고 SQL 2005 Mobile Edition을 대체할 SQL 2005 Compact Edition에 대한 것 외엔 특별한 것이 없어 보인다. 이 점은 뭐 필자가 수정 내역에 대한 상세한 문서를 아직 찾지 못해서 라고 생각한다.

물론 Vista 지원을 위해 다양한 파일들이 수정되었을 것으로 생각된다. 애드인 형태로 제공되었던 Web Application Project에 대한 두 개의 설치 파일의 크기가 합쳐서 20MB도 채 안되었지만 이번에 발표된 SP1의 크기는 400MB가 넘어간다. 게다가 설치 시간도 쑛나게 길단다. Release Note에 의하면 2005를 설치하는 것보다 SP1을 적용하는데 시간이 더 걸릴 수도 있다는 내용이 있는데다가 걸출한 삽질의 명수인 탱옹이 미리 필자에게 꼰질러 주는 바람에 필자는 설치를 걸어 놓고 자는 꽁수를 부려서 설치에 소요되는 시간이 정확히 얼마나 걸리는지 모르지만 1시간 내외의 시간이 걸린다고 하니... 설치 시에는 각오를 단단히 해야 할 것이다.

서비스 팩을 적용하면 여러 번의 MSI(Microsoft Installer)가 구동되는데 이는 설치된 Visual Studio의 에디션 만큼 수행된다. 필자의 경우, Team Suite를 설치했고 여기에 Team Explorer와 Premium Partner Edition(Team Explorer 설치 시 같이 설치됨)이 설치되어 있어서 MSI가 세 번 구동되었다. 좀 짜증나는 것이 매 MSI가 구동될 때 마다 설치 여부를 묻는 대화 상자가 나타나기 때문에 설치 되는 것을 지켜볼 필요가 있다는 것이다. (아놔... 설치 걸고 퍼질러 자자기도 힘들다...)

뭐 이외에도 버그 수정 사항들이 많이 있으리라 생각된다. 그렇지 않고 지가 400MB가 넘을 이유가 있겠는가? 대개 서비스 팩이 발표되면 그 서비스 팩이 수정한 버그 사항들을 명시하는 KB 자료가 있기 마련인데 이번에는 그런 문서를 찾을 수 없었다. 서비스 팩의 파일 사이즈가 주는 포스를 생각해서 많이 좋아졌다고 생각하는 것이 정신건강에 이로울 듯 하다.

Installation Issue

탱옹의 삽질기에 의하면 .NET Framework 3.0의 WPF, WCF를 개발해 보겠다고 아직 CTP 버전인 Visual Studio 2005 extensions for .NET Framework 3.0 을 설치하면 SP1이 제대로 설치되지 않아서 Web Application Project가 나타나지 않는다고 한다. 혹시 이것이 설치되어 있는 독자라면 이것을 제거한 후에 SP1을 설치하는 것이 좋을 듯 하다.

또한 필자를 비롯한 일부 컴퓨터에서 "설치 원본을 찾을 수 없습니다" 라는 오류 메시지와 함께 SP1의 설치가 전혀 시도되지도 않는 경우가 나타나기도 한다. 필자는 어차피 Vista를 설치할 계획이였으므로 가볍게 Windows 2003 R2를 밀어 버리고 Vista를 설치 한 후에 VS 2005 를 설치하고 SP1을 적용했기 때문에 문제가 없었다. 필자가 추측하기로는 SQL Server 2005 Developer Edition 덕분에 이런 오류가 나지 않나 생각해 본다. 아직 정확한 이유를 KB나 기타 다른 곳에서 찾을 수 없기 때문에 아직까지 정확한 원인은 알 수 없지만 혹시나 독자들 중에 이런 문제에 부딪히거나 이를 해결한 독자는 필자에게도 해결 방법을 알 영광을 주기 바라는 바이다. 물론 필자도 이에 대한 원인을 알게 되면 곧바로 이곳을 통해 꼰질러 줄 것임을 약속하는 바이다.

2006-12-22 업데이트
SP1의 "설치 원본을 찾을 수 없습니다"에 대한 오류 해결책은 정성태씨의 사이트에 가면 해결책을 찾을 수 있다. 우리의 멋진 성태씨가 상당한 삽질을 한 후에 겨우 알아낸 것이니 모두 감사의 마음을 가져야 할 것이다.
성태씨의 글이 상당히 길지만 해결 방법은 간단하다. "관리 도구" 폴더에서 "로컬 보안 정책"을 수행시킨다. 그리고 "소프트웨어 제한 정책" 노드(폴더)를 선택한다. 만약 아무런 소프트웨어 제한 정책이 없다면, 새로운 정책을 하나 만든다. 그리고 오른쪽 패널에서 강요(Enforcement) 항목을 더블 클릭하여 나타나는 대화 상자에서 "다음 사용자에게 소프트웨어 보안 정책 설정"에서 "로컬 관리자를 제외한 모든 사용자" 항목을 선택한다. 이제 SP1이 정상 설치될 것이다.
해결책을 공지해 준 정성태씨에게 다시금 감사하며, 이를 필자에게 꼰질러 준 이방은님께도 심심한 감사를 드리는 바이다.

대개의 경우, 설치하기 전에 ReadMe 나 Release Note 같은 것을 꼭 읽어 보는 것이 정상적인 설치를 하는데 도움이 되므로 미친 척 하고 대충 살펴보는 것도 나쁘진 않다. 물론 English Communication에 Handicap이 Many 한 People이나 귀차니즘이 창궐하는 사람에겐 예외가 되겠다.

Vista 에 Visual Studio 2005를 설치한 독자라면 반드시 SP1를 설치해 주는 것이 좋다. Vista 환경이라면 SP1 외에도 Visual Studio 2005 SP1 Update for Vista (현재 Beta 1 임)을 추가로 설치해 주어야 완전한 패치가 끝난다는 점도 알아두면 정신건강에 도움이 될 것이다.

The End......

뭐 SP1 나온다는 얘기만 짧막하게 써도 될 것을 뭐 아는 척한다고 배경 따위나 설명하고... 이 꼴을 탱옹이 지켜봤다면 아마 이렇게 말했을 것이다.

 

필자의 고질병(도끼병 등 몇 가지가 있다)이 도져서 그런 것이라 생각하고 독자들의 넓은 아량을 기대해 본다.



Comments (read-only)
#re: Visual Studio 2005 Service Pack 1 Released...... / 탱옹 / 2006-12-22 오전 9:54:00
자. 이상 Loner님의 VS 2005 SP1 설치 날로먹기 컬럼이었습니다.
(1층 관객들 박수 주세요)
수고하셨습니다.
(함성과 박수 주세요)
#re: Visual Studio 2005 Service Pack 1 Released...... / 위시 / 2006-12-22 오전 9:59:00
짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝
짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝
짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝

..2층관객들 파도타기 부탁드립니다 ㅋ
#re: Visual Studio 2005 Service Pack 1 Released...... / 컴맹 / 2006-12-22 오후 1:42:00
짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝
짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝
짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝짝
와~~~ 와~~~~ 와~~~~

수고하셨습니다.^^
#Microsoft® Visual Studio® .NET™ 2003 Service Pack 1 / 구루비 / 2006-12-22 오후 3:13:00
Microsoft® Visual Studio® .NET™ 2003 Service Pack 1 나온 지 꽤 됐습니다.
9/15/2006 일자로군요..
http://www.microsoft.com/downloads/details.aspx?FamilyID=69d2219f-ce82-46a5-8aec-072bd4bb955e&DisplayLang=en
#re: Visual Studio 2005 Service Pack 1 Released...... / 이방은 / 2006-12-22 오후 4:51:00
위 설치 원본을 찾을 수없다는 오류의 해결법은 아래와 같습니다.
성태님 홈페이지
http://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&pageno=0&detail=1&wid=412
에..그리고 버그 픽스 부분은..본거는 같은데..@.@
시작페이지 변경되는 이런 버그 수정되었다는 내용들이 들어 있었던것 같군요..그래서 테스트는 해봤는데..수정 됬더군요..ㅡ.ㅡ;
#re: Visual Studio 2005 Service Pack 1 Released...... / 블로그쥔장 / 2006-12-22 오후 5:15:00
역시 멋진 정성태씨죠?
알려주신 이방은님께도 감사 드립니다. 본문을 수정했습니다.
#탱옹 보거라... / 블로그쥔장 / 2006-12-22 오후 5:16:00
내 날로 먹으려 했다는 것은 인정하겠소.
하지만 곧바로 추가정보를 올리고 소스 원본을 모두 밝혔지 않소?
너무 까칠하게 그러지 마시오... 험험...
#re: Visual Studio 2005 Service Pack 1 Released...... / 정성태 / 2006-12-23 오전 8:24:00
이 방은 님의 역할이 크시군요. ^^
저도 주인장님의 글을 보았으나, 본문에서 "설치 원본을 찾을 수 없습니다"라는 오류가 제가 겪은 오류라고는 생각지 못하고 아무런 댓글을 못달았었습니다. ^^;

"WaterStone" 이라고 제 홈피에 글을 "친하게(!)" ^^ 남겨주셔서, 구글 검색으로 유수석님인 것을 알았습니다. 언제 또 그런 필명을 지으셨는지! ^^
#re: Visual Studio 2005 Service Pack 1 Released...... / 블로그쥔장 / 2006-12-23 오후 1:08:00
WaterStone => 수석
탱옹이 지어준 거죠... Loner보다 WaterStone이 더 알기 쉬우실 거 같아서...
#re: Visual Studio 2005 Service Pack 1 Released...... / 구자현 / 2006-12-26 오후 12:40:00
위 설치 원본을 찾을 수없다는 오류의 해결법은 아래와 같습니다.
KB^^
http://support.microsoft.com/kb/925336
#re: Visual Studio 2005 Service Pack 1 Released...... / 이방은 / 2006-12-27 오후 6:04:00
허허..
저는 성태님 홈 갔다가 Water Stone 이라고 있길래..
물 돌??? 이랬었는데..
문맥으로 보아.쥔장님인줄 알았죠..ㅡ.ㅡ;;
#re: Visual Studio 2005 Service Pack 1 Released...... / 박용준 / 2007-01-19 오후 3:24:00
윗글 삭제해주세요 ; 너무 기뻐 이름쓰는데 엉뚱한 멘트를 썼네요 -0-;; 팁 정말 감사합니다.
#re: Visual Studio 2005 Service Pack 1 Released...... / 조조 / 2007-05-02 오후 1:47:00
영문 패치를 이용하는건 생각보다 쉬웠습니다. 전 2005 영문 패치 나오자말자..
한글 2005는 그대로 둔채 영문 vs 2005의 엔진만 설치하고..
(개발언어별 툴 제외) 영문 패치를 하면..
한글 메뉴는 그대로 유지하며 웹 프로젝트를 추가 할수 있었습니다..