UmcBlog 는 이전에 웹사이트 프로젝트(Website Project)로 만들어졌다. 하지만, 대대적인 공사(?)를 통해 웹 어플케이션 프로젝트(Web Application Project)로 변경하면서 지난번에 언급했던 몇가지 문제점이 해결되었다.
 
두가지 문제점은 다음과 같았다.
 
l        웹 페이지의 인스턴스를 생성할 수 없기 때문에 재사용성이 떨어진다 (가능하지만 번거롭다 )
l        두 개 프로젝트가 웹사이트에 참조될 경우 형상 관리(Source Safer) 에서 바인딩이 깨진다.
 
이 두 가지 문제는 실제 프로젝트를 진행하게 된다면 굉장히 심각한 문제가 될 수 있다. VS2005 로 CS 기반의 프로젝트를 대부분 진행했던 터라 실제 프로젝트에서 어떠한 문제가 있는지는 체험해 보지 못했지만, 팀 프로젝트에 있어서 웹 사이트 프로젝트는 여간 성가신 존재가 아닐 수 없는 것은 분명한 것 같다.
 
 
 
Visual Studio 2005 Team Suite Service Pack 1 설치
 
우선 웹 어플케이션 프로젝트를 만들기 위해서는 Visual Studio 2005 Service Pack 1 이 필요하다. 혹시 아직까지 Visual Studio 2005 Service Pack 1 을 설치하지 않으셨다면 아래의 링크를 통해 다운로드 받아 설치 하시면 됩니다.
 
혹시 비스타에 개발환경이 설치되어 있다면, 두번째 윈도우 비스타용 업데이트로 함께 설치해 주어야 합니다.
 
Visual Studio 2005 Team Suite Service Pack 1
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc
 
윈도우 비스타용 Visual Studio 2005 Service Pack 1 Update
http://www.microsoft.com/downloads/details.aspx?familyid=90E2942D-3AD1-4873-A2EE-4ACC0AACE5B6&displaylang=ko
 
 
 
ASP.NET 웹 응용 프로그램으로의 전환
 
이제 VS2005 서비스팩이 설치 되었다면, 새 프로젝트의 Web 항목에 웹 응용 프로그램 프로젝트가 생성된 것을 확인할 수 있다. 그럼 웹사이트 프로젝트에서 마우스 오른쪽 버튼을 눌러 속성 내용을 보면, 다음과 같이 “웹 응용 프로젝트로 변환” 메뉴가 보인다.
 
[
그림1] 웹 응용 프로그램으로 변환
 
그럼 이제 웹 응용 프로그램으로 전환할 준비 단계는 모두 준비되었다. 이제부터 중요한 내용이니 정신 바짝 차리고 내용의 순서를 잘 보기 바란다.
 
1.        기존의 웹 사이트 프로젝트와 별도로 웹 응용 프로그램 프로젝트를 만든다.


[그림2] 기존의 웹사이트 프로젝트와 새로 생성한 웹 응용 프로그램 프로젝트

localhost:9091 프로젝트는 변환하게 될 웹사이트 프로젝트이다
Convert 프로젝트는 방금 생성한 텅 빈 웹 응용 프로그램 프로젝트이다.


2.        웹 사이트 프로젝트의 모든 내용을 웹 응용 프로그램 프로젝트로 복사한다.

새로 만들게 되는 웹 응용 프로그램 프로젝트는 VS2005 에서 새로 등장한 웹 사이트 프로젝트와 매우 다른 성격의 프로젝트이기 때문에, 다음과 같은 작업을 해야한다.


[그림3] 웹 응용 프로그램 프로젝트로 웹사이트 프로젝트 내용을 복사한다.

그럼 다음과 같이 웹 사이트 프로젝트의 모든 내용을 웹 응용 프로그램 프로젝트로 복사가 진행된다.


[그림4] 웹 응용 프로그램 프로젝트로 복사중

복사가 진행되면서 모든 폴더의 Depth 가 확장이 된다. 포함된 파일이 많은 경우 다소 시간이 걸릴 수도 있다.


3.        Designer.CS 파일을 생성 && namespace 체계 구축


[그림5] 그림과 같은 단계를 거쳐 Designer.CS 파일을 생성한다.

이후, Rss.aspx.Designer.CS 파일의 내용을 보게 되면, 전혀 namespace 체계가 정돈되지 않은 코드가 되어버린다. 코딩에는 별 문제가 없지만, 우리가 웹 응용 프로그램으로 변환하는 장점을 버리게 되는것이다.


[그림6] namespace 체계가 정돈 되지 않는 코드

여기에서는 웹사이트 최상위 namespace 는 UmcBlog 로 정할 것이다. 그럼 우선 CS 코드에 namespace 블록을 적용해 보도록 하자.


[그림7] Rss.aspx.CS 코드에 namespace 블록 적용

그리고, aspx 페이지의 Page 지시자에 Inherits 속성에도 namespace 가 적용된 상속 클래스명을 변경해 주자.


[그림8] Rss.aspx 의 Page 지시자에 상속 클래스명 변경

그리고 다시 해당 파일을 웹 응용 프로그램으로 변환을 통해 Designer.CS 파일을 생성해 보자.


[그림9] namespace 체계가 적용된 Designer.CS 파일


 
웹 어플케이션의 속성에서 “웹 응용 프로그램으로 변환”을 하게 되더라도 무리는 없다. 하지만 위에서 언급하였듯이, 웹 어플케이션으로 변환하는 의미와 장점을 버리게 되는 것이다.
 
 
Designer.CS 생성 팁(Tip)
 
웹 응용 프로그램으로 변환”을 통해 Designer.CS 파일이 생성되고, 이 디자이너 파일에 적용된 네임스페이스는 어떤 기준에 의해 생기는 것일까?
 
답은 aspx 의 Page 지시자의 Inherits 속성이다.
 

[그림10] Page 지시자의 Inhertis 속성에 의해 Designer.CS 의 namespace 체계가 결정된다
 
때문에, 작업중에 실수를 하게 된다면 Designer.CS 파일을 삭제하고 aspx 의 Page 지시자의Inhertis 속성을 수정한 후 다시 Designer.CS 파일을 생성하면 된다.
 
 
이제 웹 어플케이션 프로젝트로 변환에 완료되었다. 앞서 말한, VSS 를 통한 형상관리와 페이지의 인스턴스를 생성할 수 있게 되어 기존의 VS2003 과 같은 웹 어플케이션 코딩이 가능해졌다.
 
아마도 웹 사이트 프로젝트를 웹 어플케이션 프로젝트로 변환하는 방법을 몰라서 도전하지 못했던 독자라면 이 방법대로 한다면 꼭 성공할 수 있을 것입니다.
저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 땡초 POWERUMC

댓글을 달아 주세요