다음을 통해 공유


Visual Studio 2005의 개선 사항

작성자: Microsoft

Visual Studio 2005는 웹 애플리케이션 개발자에게 웹 프로젝트에 대한 개선 사항 및 향상된 기능의 긴 목록을 제공합니다.

Visual Studio 2005는 웹 애플리케이션 개발자에게 웹 프로젝트에 대한 개선 사항 및 향상된 기능의 긴 목록을 제공합니다. Visual Studio .NET 2002 및 2003만큼 강력하기 때문에 웹 프로젝트가 처리되는 방식에 많은 불만이 있었습니다. Visual Studio 2005는 이러한 불만 사항을 해결하기 위해 많은 수의 새로운 기능을 추가합니다. Visual Studio .NET 2003에서 웹 애플리케이션의 컴파일을 처리하는 방법을 선호하는 경우 웹 애플리케이션 프로젝트를 참조하세요.

이 모듈에서는 웹 프로젝트 만들기, 관리 및 개발의 개선 사항을 잘 다룹니다. 이후 모듈에서는 웹 프로젝트를 빌드하고 배포하는 개선 사항을 잘 다룹니다.

FrontPage 서버 확장

Visual Studio .NET 2002 및 2003에는 웹 프로젝트를 만들거나 빌드하기 위해 상자에 FrontPage Server 확장이 필요했습니다. 개발자는 두 가지 액세스 모드(FrontPage Server 확장명 또는 파일 액세스 모드) 중에서 선택할 수 있으며, 둘 다 FrontPage Server 확장을 사용하여 IIS에서 애플리케이션 루트 설정 등의 작업을 수행했습니다.

Visual Studio 2005는 로컬 프로젝트에 대한 FrontPage Server 확장에 대한 의존도를 제거합니다. 이제 Visual Studio 2005는 FrontPage 서버 확장을 사용하는 대신 IIS 메타베이스에 직접 액세스합니다. 또한 Visual Studio 2005는 FrontPage Server 확장 없이 원격 프로젝트 액세스를 허용하는 FTP에 대한 지원을 추가합니다.

프로젝트에서 FrontPage 서버 확장을 사용하려는 개발자의 경우 옵션을 계속 사용할 수 있습니다. 그러나 ASP.NET 개발자 커뮤니티의 강력한 피드백에 따라 요구 사항은 아닙니다.

참고

프런트 페이지 서버 확장은 원격 프로젝트 만들기, 열기 등에 여전히 필요합니다.

ASP.NET 개발 서버 개요

Visual Studio 2005는 ASP.NET 개발 서버라는 새 웹 서버와 함께 제공됩니다. (이 웹 서버는 이전에 Cassini라고 했습니다.)

ASP.NET 개발 서버의 몇 가지 이점이 있습니다.

  • 이제 관리자가 아닌 사용자가 웹 서버에 대해 개발하고 디버그할 수 있습니다.
  • ASP.NET 개발 서버는 가상 디렉터리를 파일 시스템의 모든 위치에 동적으로 매핑하여 유연한 프로젝트 위치를 허용합니다.
  • 이미 IIS를 사용하고 있는 Windows XP Professional 사용자는 이제 IIS에서 기본 웹 사이트의 파일 또는 폴더 구조에 영향을 미치지 않는 새 웹 애플리케이션을 만들 수 있습니다.

ASP.NET 개발 서버를 활용하기 위해 특별한 구성이 필요하지 않습니다. 파일 시스템에서 호스트되는 웹 프로젝트가 디버그되거나 검색되면 Visual Studio 2005는 임의 포트에서 ASP.NET 개발 서버의 instance 자동으로 시작하여 요청을 서비스합니다.

자세한 내용은 이 모듈의 뒷부분에 있는 ASP.NET 개발 서버에서 다룹니다.

향상된 파일 관리

Visual Studio 2002 및 2003에서 프로젝트 파일(VB.NET.vbproj 및 C#의 경우 .csproj)은 웹 애플리케이션의 모든 파일에 대한 정보를 저장했습니다. 솔루션 탐색기 표시는 프로젝트 파일의 파일 정보를 기반으로 합니다. 이 때문에 외부 편집기가 사용된 경우 솔루션 탐색기 부정확한 정보를 표시하는 경우가 많습니다. Visual Studio 2002 및 2003은 파일 변경 내용을 덮어쓰거나 최신 버전의 파일을 표시하지 않는 경우가 많습니다.

Visual Studio 2005는 프로젝트 파일을 제거합니다. 대신 디스크에서 직접 파일 및 폴더 정보를 읽어 프로젝트의 파일을 정확하게 표시합니다. Visual Studio 2002 및 2003의 References 폴더는 웹 애플리케이션의 실제 폴더를 나타내지 않으므로 Visual Studio 2005는 솔루션 탐색기 References 폴더도 제거합니다. Visual Studio 2005에서 프로젝트에 대한 참조에 액세스하려면 프로젝트의 속성 페이지를 사용해야 합니다.

웹 프로젝트 만들기

웹 개발자는 Visual Studio 2005에서 프로젝트를 만드는 데 사용할 수 있는 많은 새로운 옵션을 제공합니다. 이제 파일 시스템의 어디에서나 웹 사이트를 만들 수 있으며 새 ASP.NET 개발 서버를 사용하여 디버그하거나 탐색할 수 있습니다. 개발자는 FTP를 사용하여 새 웹 사이트를 만들 수도 있습니다.

Visual Studio 2005에서 웹 프로젝트를 만드는 비디오 연습을 보려면 여기를 클릭하세요.

Full-Screen 비디오 열기

파일 시스템 프로젝트

비디오 연습에서 본 것처럼 파일 공유를 통해 로컬 컴퓨터 또는 원격 위치에 파일 시스템에 웹 사이트를 만들도록 선택할 수 있습니다. 파일 시스템에서 만든 웹 사이트는 ASP.NET 개발 서버를 사용하여 검색 및 디버그됩니다.

참고

ASP.NET 개발 서버는 고객에게 약간의 혼란을 야기할 수 있습니다. IISs 디렉터리 구조(예: c:/inetpub/wwwroot)의 파일 시스템에 웹 프로젝트를 만든 경우 Visual Studio 2005 내에서 시작할 때 웹 사이트는 ASP.NET 개발 서버를 통해 계속 검색됩니다. 따라서 IIS 구성(예: 인증 방법)은 적용되지 않습니다.

또한 기본 웹 프로젝트는 Default.aspx 페이지, default.cs 파일 및 App/_Data 폴더만 포함하여 많은 오버헤드를 제거합니다. 필요에 따라 web.config 및 특수 폴더(예: 앱/_code)가 추가됩니다. 웹 프로젝트에는 필요한 파일 및 폴더만 포함됩니다.

HTTP 프로젝트

HTTP 프로젝트는 로컬 IIS 웹 사이트 또는 원격 웹 사이트에서 만든 프로젝트일 수 있습니다. 기본 프로젝트 위치는 입니다 http://localhost. 찾아보기 단추를 클릭하면 로컬 IIS 및 원격 사이트라는 두 가지 HTTP 옵션이 있습니다. 이 두 옵션의 기본 차이점은 위치 선택 대화 상자에 웹 사이트 정보가 표시되는 방법과 파일이 웹 서버에 복사되는 방식입니다.

로컬 IIS 옵션은 로컬 컴퓨터의 메타베이스에서 사이트 정보를 읽고 파일 시스템을 사용하여 파일을 복사합니다. 원격 사이트 옵션은 FrontPage 서버 확장을 사용하며 사이트 정보 및 파일은 HTTP 및 FrontPage Server 확장 RPC 호출을 사용하여 복사됩니다.

참고

vs###/_tmp.htm 파일 및 get/_aspx/_ver.aspx는 더 이상 버전 정보를 확인하는 데 사용되지 않습니다.

기본 HTTP 옵션은 로컬 IIS입니다. 이 옵션은 IIS 메타베이스를 읽어 사용할 수 있는 사이트와 콘텐츠를 만들 위치를 결정합니다. 트리 뷰에서 다른 폴더 또는 가상 디렉터리를 선택하여 선택할 수 있습니다. 새 가상 디렉터리를 만들고, 폴더를 애플리케이션으로 표시하고, 이 대화 상자에서 기존 가상 디렉터리를 삭제할 수도 있습니다.

위치 선택 대화 상자

그림 1: 위치 선택 대화 상자

이전 버전의 Visual Studio와 달리 보안 소켓 계층 사용 확인란을 검사 SSL 인증서가 검색 중인 URL과 일치하지 않는 경우 계속 진행할지 묻는 보안 경고 대화 상자가 표시됩니다. Visual Studio .NET 2003을 사용하여 인증서가 일치하는 인증서가 아닌 경우 프로젝트를 만드는 데 실패합니다.

SSL 인증서와 관련된 보안 경고

그림 2: SSL 인증서와 관련된 보안 경고

호스트 헤더에 대한 참고 사항

특정 IP에 바인딩된 사이트에 웹 애플리케이션을 만드는 경우 호스트 헤더가 구성되어 있는지 확인해야 합니다. 그렇지 않으면 Visual Studio가 에서 http://localhost사이트를 만들지만 IDE 내에서 사이트를 검색하거나 디버그할 때 IP 주소가 올바르게 resolve 않습니다.

원격 사이트 옵션을 선택하면 대화 상자가 변경되어 새 웹 사이트의 대상 URL을 입력할 수 있습니다. 이 URL은 FrontPage 서버 확장이 사용하도록 설정된 서버에 있어야 합니다. FrontPage 서버 확장을 사용하여 로컬 웹 서버로 작업하려는 경우 원격 사이트 옵션을 사용하고 로컬 URL을 지정할 수 있습니다.

원격 서버에서 웹 사이트 만들기

그림 3: 원격 서버에 웹 사이트 만들기

SSL을 통해 원격 사이트에서 애플리케이션을 만들 때 SSL 인증서가 일치하지 않으면 로컬 IIS 옵션을 사용할 때 표시되는 대화 상자와 확인 대화 상자가 약간 다릅니다.

원격 사이트 보안 경고

그림 4: 원격 사이트 보안 경고

FTP

Visual Studio 2005에는 FTP를 통해 웹 사이트를 만드는 옵션이 도입되었습니다. 이 옵션을 사용하는 경우 IDE는 사용자 임시 폴더에 로컬로 파일을 만든 다음 FTP를 사용하여 파일을 FTP 위치로 이동합니다.

참고

임시 폴더 위치는 c:/Documents and Settings/User>/<Local Settings/Temp/VWDWebCache/<Server>/_<application name입니다.>

FTP 옵션을 사용하는 경우 위치 선택 대화 상자가 표시됩니다. 아래와 같이 이 대화 상자에 필요한 FTP 연결 정보를 입력합니다.

FTP에 대한 위치 선택 대화 상자

그림 5: FTP의 위치 선택 대화 상자

랩: FTP 사이트 설정 및 프로젝트 만들기

다음 단계에서는 사용자가 FTP를 통해서만 업로드할 수 있는 위치를 없도록 FTP 사이트를 구성합니다.

FTP 서비스 설치

  1. 프로그램 제거 추가를 열고 Windows 구성 요소 추가/제거를 선택합니다.
  2. 인터넷 정보 서비스(Windows 2003의 애플리케이션 서버)를 선택하고 세부 정보를 클릭합니다.
  3. FTP(파일 전송 프로토콜) 서비스를 선택하고 확인을 클릭합니다.
  4. 다음을 클릭하여 FTP 서비스를 설치합니다.

콘텐츠용 새 폴더 만들기

  1. Windows Explorer c:/inetpub/wwwroot 내부에 User1이라는 새 폴더를 만듭니다.

폴더에 대한 폴더 및 사용 권한을 구성합니다.

  1. 관리 도구에서 인터넷 정보 서비스 스냅인을 엽니다. 이제 컴퓨터 이름 노드 아래에 FTP 사이트 폴더가 있습니다.
  2. FTP 사이트를 확장합니다.
  3. 기본 FTP 사이트를 마우스 오른쪽 단추로 클릭하고 새로 만들기, 가상 디렉터리를 차례로 선택한 다음, 다음을 클릭합니다.
  4. 가상 디렉터리 이름으로 User1 을 입력하고 다음을 클릭합니다.
  5. 경로 에 c:/inetpub/wwwroot/User1 을 입력하고 다음을 클릭합니다.
  6. 다음을 클릭한 다음 마침을 클릭하여 마법사를 완료합니다.
  7. 기본 FTP 사이트 아래에서 User1 가상 디렉터리를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  8. 쓰기 확인란을 선택하고 확인을 클릭하여 대화 상자를 닫습니다.
  9. 기본 FTP 사이트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  10. 보안 계정 탭에서 익명 연결 허용을 선택 취소합니다.
  11. 계속할지 묻는 대화 상자에서 예를 클릭합니다.
  12. 확인을 클릭하여 대화 상자를 닫습니다.
  13. 웹 사이트 노드 아래에서 기본 웹 사이트를 확장합니다.
  14. User1 디렉터리를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  15. 애플리케이션 설정 섹션에서 만들기를 클릭하여 폴더를 애플리케이션으로 표시합니다.
  16. 확인을 클릭하여 대화 상자를 닫습니다.
  17. 인터넷 정보 서비스 스냅인을 닫습니다.

웹 프로젝트 만들기

  1. Visual Studio 2005를 엽니다.
  2. 파일 메뉴에서 새 웹 사이트를 선택합니다.
  3. 위치 드롭다운에서 FTP를 선택합니다.
  4. 찾아보기를 클릭합니다.
  5. 서버 텍스트 상자에 localhost를 입력합니다.
  6. 디렉터리 텍스트 상자에 User1 을 입력합니다.
  7. 열기를 클릭합니다. FTP 위치는 새 웹 사이트 대화 상자에 입력됩니다.
  8. 확인을 클릭합니다.
  9. FTP 로그온 대화 상자에서 익명 로그 온을 선택 취소하고 자격 증명을 입력한 다음 확인을 클릭합니다.
  10. 프로젝트의 URL은 무엇인가요? 프로젝트의 URL은 솔루션 탐색기 표시됩니다.
  11. 빌드 메뉴에서 웹 사이트 빌드 또는 솔루션 빌드를 선택합니다.
  12. 솔루션 탐색기 Default.aspx를 마우스 오른쪽 단추로 클릭하고 브라우저에서 보기를 선택합니다.
  13. 웹 사이트 URL 필수 대화 상자에서 URL을 입력 http://localhost/user1 하고 확인을 클릭합니다.

참고

/_Default 형식을 로드할 수 없음을 나타내는 오류가 발생하는 경우 이전 버전이 아닌 웹 사이트에서 ASP.NET 2.0을 실행하고 있는지 확인합니다. 인터넷 정보 서비스의 ASP.NET 탭에서 이 작업을 수행할 수 있습니다.

웹 프로젝트 열기

웹 프로젝트를 여는 것은 프로젝트를 만드는 것과 비슷합니다. 다음 섹션에서는 IDE 내에서 작업하는 동안 주의해야 할 영역을 호출합니다. 또한 HTTP 및 FTP를 사용하여 웹 프로젝트 작업을 다룹니다.

웹 프로젝트를 열려면 파일 메뉴에서 웹 사이트 열기를 선택합니다. 이전에 설명한 것과 동일한 위치 선택 대화 상자가 표시되고 파일 시스템, 로컬 IIS, FTP 및 원격 사이트와 같은 네 가지 옵션을 사용할 수 있습니다.

파일 시스템

이 모듈의 앞에서 설명한 것처럼 Visual Studio는 더 이상 프로젝트 파일을 사용하지 않습니다. 따라서 파일 시스템에서 웹 사이트를 열도록 선택하는 경우 선택한 폴더가 처음에 Visual Studio에서 웹 프로젝트로 만들어지지 않았더라도 원하는 폴더를 선택할 수 있습니다. 예를 들어 내 문서 폴더를 웹 사이트로 열도록 선택할 수 있으며 Visual Studio에서 해당 폴더를 열고 아래와 같이 파일을 표시합니다.

웹 사이트로 열린 내 문서

그림 6: 웹 사이트로 열린 내 문서

Visual Studio는 필요한 경우에만 추가 파일 및 폴더를 만들므로 여는 위치에 추가 파일이나 폴더가 추가되지 않습니다. 이 아키텍처의 부작용은 웹 사이트를 파일 시스템에 중첩하지 못하게 한다는 것입니다. 예를 들어 다음 디렉터리 구조를 고려합니다.

C:/MyWebSite의 웹 프로젝트

C:/MyWebSite/Nested의 다른 웹 프로젝트

c:/MyWebSite에서 웹 사이트를 열면 중첩된 폴더가 해당 애플리케이션의 하위 폴더로 표시됩니다.

HTTP

HTTP를 통해 웹 사이트를 열 때 IIS 메타베이스(로컬 IIS) 또는 FrontPage 서버 확장(원격 사이트)을 사용하여 설정을 읽습니다. 중첩된 웹 애플리케이션이 있는 경우 애플리케이션으로 식별하는 아이콘과 함께 이러한 애플리케이션이 표시됩니다. FrontPage에서 웹 애플리케이션을 사용하는 데 익숙한 경우 Visual Studio 2005의 동작도 비슷합니다.

Visual Studio는 현재 IDE 내에 열려 있는 애플리케이션 아래에 중첩된 애플리케이션에 대한 아이콘을 표시하지만 해당 콘텐츠를 볼 수 있도록 확장할 수는 없습니다. 그러나 두 번 클릭하여 열 수 있습니다. 이렇게 하면 웹 애플리케이션을 열거나 현재 열려 있는 솔루션을 바꾸거나 현재 솔루션에 웹 애플리케이션을 추가하라는 대화 상자가 표시됩니다.

중첩된 애플리케이션 아이콘을 두 번 클릭하면 이 대화 상자가 표시됩니다.

그림 7: 중첩된 애플리케이션 아이콘을 두 번 클릭하면 이 대화 상자가 표시됩니다.

FTP 사이트

FTP를 통해 사이트를 열면 파일이 모두 임시 폴더에 로컬로 복사됩니다. 로컬 스토리지 위치의 전체 경로는 프로젝트의 속성 창에 표시되며 다음 형식으로 만들어집니다.

C:/Documents and Settings/User>/<Local Settings/Temp/VWDWebCache/<Server>/_<application name>

FTP를 사용하는 경우 Visual Studio는 아래와 같이 탐색할 수 있도록 프로젝트의 기본 URL을 지정해야 합니다. 기본 URL을 지정하지 않으면 웹 사이트에서 페이지를 처음 찾아보려고 할 때 Visual Studio에서 요청합니다.

FTP 사이트의 기본 URL 지정

그림 8: FTP 사이트의 기본 URL 지정

컴파일의 향상된 기능

Visual Studio 2005에서 웹 애플리케이션을 사용하는 것은 이전 버전보다 훨씬 빠릅니다. 이는 컴파일 아키텍처의 변경 내용에 작은 부분도 없기 때문입니다.

Visual Studio 2002 및 2003에서 웹 애플리케이션은 /bin 폴더에 있는 하나의 기본 어셈블리로 컴파일되었습니다. Visual Studio 2005에서 App/_Code 폴더가 추가되었습니다. 클래스 및 기타 비 UI 코드는 App/_Code 폴더에 추가됩니다. Visual Studio에서 프로젝트를 빌드하면 App/_Code 폴더의 모든 파일이 단일 App/_Code.dll 파일로 컴파일됩니다. 이 변경의 결과는 후속 빌드가 이전 버전보다 훨씬 빠르다는 것입니다.

참고

MSBuild 명령줄 유틸리티를 사용하여 ASP.NET 웹 애플리케이션을 빌드할 수도 있습니다. 해당 도구는 모듈 9에서 다룹니다.

또 다른 컴파일 향상 기능은 빌드 메뉴의 새 빌드 페이지 옵션입니다. 이 기능을 사용하면 개발자가 변경 내용을 더 빠르게 컴파일할 수 있도록 현재 페이지(물론 및 종속성과 함께)만 다시 빌드할 수 있습니다. C#은 IntelliSense를 업데이트하는 등의 목적으로 백그라운드 컴파일을 제공하지 않으므로 단일 페이지를 다시 빌드하여 IntelliSense를 신속하게 업데이트할 수 있으므로 이 기능의 이점을 크게 활용할 수 있습니다.

프로젝트의 빌드 속성을 사용하면 시작 페이지가 실행되기 전에 발생하는 빌드 유형을 구성할 수 있습니다. 개발자는 코드 변경 후 Visual Studio에서 애플리케이션 디버깅을 더 빠르게 시작할 수 있도록 현재 페이지만 빌드하도록 선택할 수 있습니다.

빌드 페이지 시작 작업

그림 9: 빌드 페이지 시작 작업

Visual Studio 및 ASP.NET 아키텍처의 또 다른 향상된 기능은 편집하고 계속하는 영역에 있습니다. Visual Studio 2005에서 개발자는 디버거를 분리하지 않고도 프로젝트 디버깅을 시작하고 프로젝트에서 코드를 변경할 수 있습니다. 실제로 말 그대로 프로젝트 디버깅을 시작하고, 새 클래스를 추가하고, 해당 클래스에 코드를 추가하고, 해당 클래스의 새 instance 만드는 코드를 페이지에 추가하고, 디버거를 분리하지 않고 클래스의 메서드를 실행할 수 있습니다. 새 코드를 실행하는 것은 말 그대로 브라우저를 새로 고치는 것만큼 쉽습니다!

Visual Studio 2005에서 편집 및 계속 기능의 비디오 연습을 보려면 여기를 클릭하세요.

Full-Screen 비디오 열기

ASP.NET 2.0 및 Visual Studio 2005의 강력한 편집 및 계속 기능은 ASP.NET 애플리케이션에 대한 아키텍처 변경으로 인해 발생합니다. ASP.NET 1.x에서 Visual Studio 2002/2003에서 만든 애플리케이션은 /bin 폴더에 저장된 기본 어셈블리로 컴파일되었습니다. 모든 클래스, 페이지 등 애플리케이션이 해당 DLL로 컴파일되었습니다. 그런 다음 런타임에 ASP.NET 페이지 내의 모든 컨트롤, 태그 및 ASP.NET 코드를 컴파일하고 해당 DLL을 ASP.NET 임시 폴더에 복사합니다.

ASP.NET 2.0을 사용하는 Visual Studio 2005에서는 위의 두 컴파일 모델(Visual Studio용과 런타임 시 ASP.NET 하나씩)이 하나의 공통 컴파일 모델로 병합되었습니다. 즉, 이제 런타임이 아닌 개발 단계에서 모든 컴파일 문제가 포착됩니다. 또한 사용자 컨트롤 및 master 페이지와 같은 기능에 대한 디자이너 및 IntelliSense 지원을 허용합니다.

사용자 컨트롤에 대한 디자이너 지원의 비디오 연습을 보려면 여기를 클릭하세요.

Full-Screen 비디오 열기

참고

사용자 컨트롤이 페이지에서 @Register 제거되면 지시문은 태그에 남아 있으며 사용자 컨트롤이 웹 사이트에서 삭제되는 경우 파서 오류를 방지하기 위해 수동으로 제거해야 합니다.

Visual Studio 컴파일 모델의 또 다른 개선 사항은 웹 사이트 게시 기능입니다. 게시 기능은 웹 사이트를 미리 컴파일하므로 개발자는 요청 시 아무것도 컴파일할 필요가 없다는 추가 성능을 누릴 수 있습니다. 또한 소스 코드를 배포할 필요가 없도록 App/_Code 폴더의 모든 소스 코드를 DLL로 미리 컴파일합니다.

웹 사이트 게시 대화 상자

그림 10: 웹 사이트 게시 대화 상자

참고

aspnet/_compile.exe 유틸리티를 사용하여 ASP.NET 웹 애플리케이션을 미리 컴파일할 수도 있습니다. 이 도구는 모듈 9에서 다룹니다.

웹 사이트를 게시할 때 미리 컴파일된 파일은 아래와 같이 임시 ASP.NET Files 폴더에 저장됩니다. .compiled 파일 확장자를 가진 파일은 특정 DLL에 대한 종속성을 정의하는 XML 파일입니다. 모든 웹 폼 또는 사용자 컨트롤은 App/Web/으로 시작하는 임의의 DLL로 컴파일됩니다.

미리 컴파일된 사이트를 업데이트할 수 있도록 허용 확인란을 선택한 상태로 두면 웹 폼 및 사용자 컨트롤 내부의 태그가 DLL로 미리 컴파일되지 않으므로 배포 후에 변경할 수 있습니다. 배포된 콘텐츠에 대한 변경이 허용되지 않도록 태그를 잠그려면 이 확인란의 선택을 취소합니다.

고정 명명 및 단일 페이지 어셈블리 사용 확인란을 사용하면 각 페이지가 고정 명명된 어셈블리로 컴파일되도록 일괄 처리 컴파일을 사용하지 않도록 설정할 수 있습니다. 이 상자를 선택 취소하면 일괄 컴파일을 활용할 수 있습니다.

미리 컴파일된 어셈블리에서 강력한 이름 지정 사용 확인란을 사용하면 미리 컴파일된 어셈블리의 이름을 강력한 이름으로 지정할 수 있습니다.

참고

ASP.NET 1.x에서는 강력한 이름의 어셈블리를 GAC(전역 어셈블리 캐시)에 설치해야 했습니다. ASP.NET 2.0에서는 강력한 이름의 어셈블리를 GAC에 설치할 필요가 없습니다.

ASP.NET 애플리케이션 미리 컴파일된 파일

그림 11: ASP.NET 애플리케이션 미리 컴파일된 파일

참고

위의 애플리케이션에는 web.config 파일이 없습니다. 이 경우 웹 사이트 게시 프로세스 후 PrecompiledApp.config 호출되었을 것입니다.

배포 개선 사항

Visual Studio 2002 및 2003과 마찬가지로 Visual Studio 2005는 프로젝트 복사 기능을 제공합니다. 그러나 이 기능은 Visual Studio 2005에서 강화되었으며 이제는 웹 사이트 복사라고 합니다.

웹 사이트 복사 대화 상자는 왼쪽 프레임과 오른쪽 프레임으로 분할됩니다. 왼쪽 프레임을 원본 웹 사이트라고 하며 오른쪽 프레임을 원격 웹 사이트라고 합니다. 일부 개발자를 혼동할 수 있는 한 가지는 올바른 프레임에 표시되는 사이트가 반드시 원격 사이트가 아니라는 것입니다. 로컬 파일 시스템 또는 IIS의 로컬 instance 사이트일 수 있습니다. 또한 대화 상자를 사용하면 원격 웹 사이트에서 원본 웹 사이트로 게시할 수 있으므로 왼쪽 프레임에 표시되는 사이트가 원본 웹 사이트일 필요는 없습니다.

원격 웹 사이트에 프로젝트를 복사하는 경우 해당 사이트에 FrontPage 서버 확장이 설치되어 있어야 합니다. 그렇지 않은 경우 FTP를 사용하여 연결해야 합니다. 반면, 프로젝트를 로컬 IIS instance 복사하는 경우 FrontPage 서버 확장이 필요하지 않습니다.

참고

로컬 IIS instance 새 웹 사이트를 만들려고 하고 FrontPage 2002 서버 확장이 설치된 경우 SharePoint 서버에서 웹 사이트 만들기가 지원되지 않는다는 오류 메시지가 표시됩니다. 이 경우 FrontPage 2000 서버 확장을 설치하거나 FrontPage 서버 확장을 제거할 수 있습니다.

웹 사이트 복사 기능의 비디오 연습을 보려면 여기를 클릭하세요.

Visual Studio에서 웹 사이트 복사 기능의 비디오 연습 스크린샷

Full-Screen 비디오 열기

디버깅의 향상된 기능

Visual Studio 2005의 디버깅에는 네 가지 주요 개선 사항이 있습니다.

  • 관리자가 아닌 사용자로 로컬로 디버깅할 수 있습니다.
  • Compilation 요소에 대한 Debug 특성은 이제 기본적으로 false입니다.
  • 원격 디버깅 설정 및 구성이 이전보다 쉽습니다.
  • 이제 FTP 위치를 통해 열린 웹 사이트를 디버그할 수 있습니다.

비관리자로 디버깅

ASP.NET 개발 서버를 추가하면 관리자가 아닌 사용자가 바로 ASP.NET 애플리케이션을 쉽게 디버그할 수 있습니다. 로컬 파일 시스템에서 실행되는 ASP.NET 애플리케이션을 디버그하면 Visual Studio는 로그온한 사용자의 컨텍스트에서 ASP.NET 개발 서버를 시작합니다. 그런 다음 해당 사용자는 추가 구성 없이 해당 애플리케이션을 디버그할 수 있습니다.

디버그가 기본적으로 False임

ASP.NET 1.x에서는 web.config 파일의 컴파일 요소에 있는 디버그 특성이 기본적으로 true로 설정되었습니다. 프로덕션에 애플리케이션을 배포하기 전에 개발자가 이 특성을 false 로 설정하는 것이 항상 권장되었지만 대부분의 개발자는 디버그 특성을 true로 설정한 결과를 완전히 이해하지 못하기 때문에 그대로 두었습니다.

디버그 특성을 true로 설정하는 가장 심각한 문제는 ASP를 사용하지 않도록 설정하는 것입니다. NET 일괄 처리 컴파일 모델입니다. 따라서 각 페이지는 별도의 DLL로 컴파일됩니다. 웹 애플리케이션이 수천 페이지로 구성된 경우(어떤 경우에도 전례가 없는) 수천 개의 작은 DLL이 해당 애플리케이션에서 만들어집니다. 이러한 DLL의 크기는 작지만 메모리의 특정 위치에는 로드되지 않습니다. 따라서 시스템 메모리에서 조각화를 발생시키고 OutOfMemoryException 발생에 기여할 수 있습니다.

ASP.NET 2.0에서는 디버그 특성이 기본적으로 false로 설정됩니다. 이미 보았듯이 개발자가 Visual Studio 2005에서 ASP.NET 애플리케이션을 디버그할 때 디버깅을 사용하도록 설정된 web.config 파일을 추가하라는 메시지가 표시됩니다. 이렇게 하면 ASP.NET 1.x에 있는 것과 동일한 단점이 발생하지만, 이제 개발자는 애플리케이션을 프로덕션으로 이동하기 전에 특성을 false로 다시 설정해야 한다는 경고를 분명히 받았습니다.

원격 디버깅 설정 및 구성

Visual Studio 2002/2003에서 원격 디버깅은 컴퓨터 디버그 관리자(mdm.exe) 및 vs7jit.exe 프로세스에 의존했습니다. 따라서 원격 디버깅 문제 해결은 종종 고객을 위한 블랙박스였고 PSS에 훨씬 더 좋지 않은 경우가 많았습니다.

Visual Studio 2005는 mdm.exe 및 vs7jit.exe 프로세스에 대한 의존도를 제거합니다. 대신 이제 원격 디버그 모니터 서비스(msvsmon.exe)를 사용합니다.

Visual Studio 2005의 디버깅 요구 사항은 매우 간단합니다. 디버깅하기 전에 원격 서버에서 msvsmon.exe 실행해야 합니다. Visual Studio CD에서 원격 디버그 모니터를 설치하거나 웹 서버에 아무것도 설치하지 않고 공유에서 msvsmon.exe 실행할 수 있습니다.

msvsmon.exe 실행하면 원격 디버깅을 위해 차단되는 포트에 대해 불만을 표시할 수 있습니다. 다행히 아래와 같이 경고 대화 상자 내에서 포트의 차단을 쉽게 해제할 수 있습니다.

Windows 방화벽이 원격 디버깅을 차단하고 있다는 알림

그림 12: Windows 방화벽이 원격 디버깅을 차단하고 있다는 알림

디버깅에 필요한 포트의 차단을 해제하면 아래와 같이 원격 디버깅 모니터가 표시됩니다. 이 인터페이스에서 연결을 모니터링하고 디버깅 권한을 쉽게 변경할 수 있습니다.

원격 디버깅 모니터

그림 13: 원격 디버깅 모니터

FTP를 통해 열린 웹 애플리케이션을 원격으로 디버그할 수도 있습니다. 단계는 이전에 설명한 단계와 동일합니다. 그러나 이 모듈의 앞부분에서 설명한 대로 FTP 프로젝트를 검색하기 위한 기본 URL을 지정해야 합니다.

랩 2

Visual Studio 2005를 사용하여 원격 디버깅

이 랩에서는 Visual Studio 2005를 사용하여 원격 디버깅을 안내합니다.

이 랩의 비디오 연습을 보려면 여기를 클릭하세요.

Visual Studio의 원격 디버깅에 대한 비디오 연습의 스크린샷.

Full-Screen 비디오 열기

이 랩에서는 Visual Studio 2005를 실행하는 컴퓨터와 IIS 5 이상을 실행하는 컴퓨터가 두 대 있어야 합니다.

  1. Visual Studio 2005를 열고 원격 서버에 새 웹 사이트를 만듭니다.

참고

원격 IIS instance 또는 FTP를 통해 웹 사이트를 만들 수 있습니다.

  1. 원격 웹 서버에서 UNC 경로를 사용하여 개발 머신에서 msvsmon.exe 찾아 실행합니다.
    msvsmon.exe 기본 위치는 //server/c$/Program Files/Microsoft Visual Studio 8/Common7/IDE/Remote Debugger/x86입니다.
  2. 원격 디버깅을 위해 포트 차단을 해제하라는 메시지가 표시되면 이렇게 합니다.
  3. 개발 컴퓨터에서 Default.aspx에 대한 코드 숨김을 열고 Page/_Load 메서드에서 중단점을 설정합니다.
  4. 개발 머신에서 디버깅을 시작합니다.

예상대로 중단점에 도달해야 합니다.

ASP.NET 개발 서버 시작

이미 설명한 대로 Visual Studio 2005는 ASP.NET 개발 서버라는 웹 서버와 함께 제공됩니다. (ASP.NET 개발 서버를 Cassini라고도 합니다. 이 웹 서버는 파일 시스템에서 실행되는 웹 애플리케이션을 찾아보고 디버그하는 편리한 수단입니다.

ASP.NET 개발 서버는 제한된 웹 서버입니다. 원격 연결을 허용하지 않으며 웹 서버를 시작한 사용자 이외의 사용자의 요청을 허용하지 않습니다. 또한 ASP 페이지를 제공하는 기능도 없습니다. ASP.NET 리소스 및 HTML 리소스(이미지, CSS 파일 등 포함)만 제공됩니다.

ASP.NET 개발 서버는 c:/Windows/Microsoft.NET/Framework/v2.0./////*에 있는 WebDev.WebServer.exe 파일을 실행하여 명령줄을 통해 시작할 수 있습니다. 다음 대화 상자에는 사용 가능한 매개 변수가 표시됩니다.

명령줄에서 A SP dot net Development 서버를 시작하기 위한 매개 변수를 표시하는 Visual Studio 대화 상자의 스크린샷

그림 14

참고

명령줄을 통해 명시적으로 시작할 때는 ASP.NET 개발 서버가 지원되지 않습니다.