ASP.NET 3.5와 ASP.NET 4.5를 지원하는 IIS 8

등록일시: 2012-04-21 22:20,  수정일시: 2013-10-05 14:59
조회수: 12,475
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.
본 문서에서는 IIS 8이 .NET 프레임워크 3.5나 .NET 프레임워크 4.5, 또는 두 가지 버전의 프레임워크를 모두 지원하도록 설정하는 방법을 살펴봅니다. 다만, 본문의 원문은 IIS 8이 정식으로 배포되기 이전인 2012년 2월 29일에 공개된 문서로, 일부 내용에 변경사항이 존재할 수 있습니다. 본 문서는 2012년 4월 현재, IIS 8을 미리 살펴보기 위한 사전정보일 뿐입니다.

호환성

버전 비고
IIS 8.0 IIS 8.0에서는 ASP.NET 3.5 및 ASP.NET 4.5가 지원됩니다.
IIS 7.5 IIS 7.5에서는 ASP.NET 3.5 및 ASP.NET 4.5가 지원됩니다.
IIS 7.0 IIS 7.0에서는 ASP.NET 3.5 및 ASP.NET 4.5가 지원됩니다.

내용

문제점

윈도우 서버 8에는 .NET 프레임워크 4.5가 기본으로 포함되어 있으며 선택적으로 .NET 프레임워크 3.5를 설치할 수도 있습니다. 또한, 개발자들은 종종 여러 가지 버전의 .NET 프레임워크 버전으로 구성된 웹 응용 프로그램들을 동시에 실행시켜야 할 경우도 있습니다.

해결방법

윈도우 서버 8의 IIS 8.0은 윈도우 서버 8이 지원하는 모든 버전의 .NET 프레임워크 상에서 동작하는 ASP.NET 응용 프로그램들을 실행할 수 있습니다. 결과적으로 이 말은 IIS 8.0에서 .NET 프레임워크 3.5나 .NET 프레임워크 4.5를 사용해서 ASP.NET 응용 프로그램을 실행할 수 있다는 뜻입니다. IIS 8.0은 응용 프로그램 풀마다 각각 다른 .NET 프레임워크 버전을 호스트 할 수 있으므로 윈도우 서버 8상에서 동시에 서로 다른 .NET 프레임워크를 사용하는 여러 개의 ASP.NET 응용 프로그램들이 실행될 수 있습니다.

그리고, IIS 8.0은 시각적인 IIS 관리자 도구 뿐만 아니라 IIS 명령줄 관리 도구를 이용한 ASP.NET 3.5 및 ASP.NET 4.5 응용 프로그램의 관리도 지원합니다. 이에 대한 보다 자세한 정보는 이 기사를 참고하시기 바랍니다.

단계별 지침

전제조건:

  • 윈도우 서버 8에 IIS가 설치되어 있어야합니다. IIS 8의 설치에 관해서 더 자세하게 알고 싶다면 윈도우 서버 8에 IIS 8 설치하기를 참고하시기 바랍니다.

ASP.NET 3.5 또는 ASP.NET 4.5를 지원하기 위해 IIS 8.0 설정하기

윈도우 서버 8에서는 기본적으로 .NET 프레임워크 3.5와 .NET 프레임워크 4.5가 모두 운영체제에 의해 인식됩니다. 이 말은 UI 기반 설정과 명령줄 기반 설정 모두를 이용해서 IIS 8.0에서 두 버전의 .NET 프레임워크를 시작할 수도 있고, 두 버전의 ASP.NET의 통합을 활성화시킬 수도 있다는 뜻입니다.

본문에서는 윈도우 서버 8의 새로운 서버 관리자를 사용해서 IIS 8.0에서 ASP.NET 3.5 및 ASP.NET 4.5 모두를 활성화시켜 볼 것입니다.

  1. 윈도우 서버 8이 새로 설치된 머신에 처음 로그인하면, 새로운 서버 관리자 UI가 나타날 것입니다. 그러면, 다음 그림과 같이 add roles를 클릭합니다:
  2. Add Roles and Features Wizard의 첫 번째 화면에서는 Next 버튼을 클릭합니다. 그러면, 원하는 설치 유형을 선택할 수 있는 페이지가 나타나는데, 다음 그림과 같이 Role-based or Feature-based Installation을 선택합니다:
  3. Next 버튼을 클릭합니다. 그러면, 마법사의 다음 화면에서 구성 작업을 수행하고자 하는 서버를 선택할 수 있습니다.
  4. 마법사의 다음 단계에서는 한 가지 이상의 서버 역할을 선택할 수 있습니다. Roles 목록의 스크롤을 아래로 이동한 다음, 다음 그림과 같이 Web Server (IIS) 체크박스를 체크합니다:
  5. 그런 다음, Next 버튼을 클릭하여 다음 단계로 이동하면 서버에 설치할 추가적인 특정 기능들을 선택할 수 있습니다. 다시 Next 버튼을 클릭하여 다음 단계로 이동합니다.
  6. 마법사의 다음 단계에서는 Web Server (IIS) 역할에 대한 약간의 소개 정보가 제공됩니다. 다시 Next 버튼을 클릭하여 다음 단계로 이동합니다. 그러면, 다음 그림과 같은 단계의 마법사 화면이 나타날 것입니다:
  7. 마법사의 초기 단계에서 Web Server (IIS) 서버 역할을 선택했기 때문에 IIS에 관한 몇 가지 기본적인 하위 기능들이 미리 선택되어 있다는 점에 주의하시기 바랍니다. 다만, 본문에서는 ASP.NET 3.5와 ASP.NET 4.5를 활성화시키고자 하고 있기 때문에, 몇 가지 추가적인 IIS 관련 기능들을 더 활성화시켜야 합니다. 따라서, Application Development 노드가 나타날 때까지 Role services 목록의 스크롤을 아래로 이동합니다. 이 노드는 기본적으로 접혀져 있으므로, 노드를 클릭하여 하위 노드들이 보이도록 펼칩니다:
  8. Application Development 노드를 이용하여 IIS에 ASP.NET을 설치 및 통합시킬 수 있습니다. 기능 목록의 몇 가지 체크박스들은 서로 비슷한 이름을 갖고 있으므로 선택할 때 주의하시기 바랍니다. 본문의 미리보기에서 관심을 가져야 할 두 가지 체크박스들은 다음과 같습니다:
    • ASP.NET 3.5 - 이 옵션은 IIS 8.0에서 ASP.NET 3.5을 실행할 수 있도록 활성화시킵니다. 그러나, 윈도우 서버 8의 기본 OS 이미지에는 .NET 프레임워크 3.5가 포함되어 있지 않다는 점에 주의하시기 바랍니다. 그대신, 인터넷에서 다운로드되므로 인터넷에 연결되어 있어야만 합니다.
    • ASP.NET 4.5 - 이 옵션은 IIS 8.0에서 ASP.NET 4.5을 실행할 수 있도록 활성화시킵니다.
  9. 먼저, ASP.NET 3.5 체크박스를 클릭합니다. 그러면, 다음과 같은 또 다른 대화 상자가 나타날 것있니다:
  10. ASP.NET 3.5는 윈도우 서버 8의 설정과 통합되어 있기 때문에, IIS 8.0에 ASP.NET 3.5를 활성화시키기 위해서 필요한 모든 관련된 의존성들이 무엇인지 윈도우 서버 8이 이미 알고 있습니다. 이 대화 상자는 단지 무엇 무엇이 자동적으로 설치에 포함될 것인지를 보여주기만 합니다. 본문에서는 ASP.NET 3.5를 활성화시키고자 하므로 Add Features 버튼을 클릭합니다.
  11. 그 다음에는, Role services 기능 목록에서 ASP.NET 4.5 체크박스를 클릭합니다. 이렇게 ASP.NET과 관련된 두 가지 체크박스를 모두 클릭하고 나면 다음 그림과 같은 결과를 얻게 됩니다:
  12. 비록 손으로 직접 선택한 기능은 ASP.NET 3.5ASP.NET 4.5뿐이지만 마법사가 자동으로 몇 가지 다른 항목들을 선택해줍니다. 이 과정은 자동적으로 처리되기 때문에 윈도우 서버 8에서 ASP.NET을 활성화시키기 위해 필요한 다양한 구성 요소 조각들을 개발자들이 명시적으로 선택해줘야 할 필요가 없습니다. 이제 Next 버튼을 클릭하여 변경 사항들을 반영합니다.
  13. Confirm installation selections 단계에는 변경 사항을 수용하는 경우 설치될 모든 기능들의 목록이 나타납니다.
  14. 이제, Install 버튼을 클릭하여 변경 사항들을 수용하고 윈도우 서버 8에서 ASP.NET을 지원하기 위한 모든 기능들을 설치합니다.
  15. 그러면, 설치가 완료될 때까지 얼마 간의 시간이 소요되는 동안 마법사가 설치 과정에 대한 진행 대화 상자를 보여줍니다:
  16. 몇 분 정도 지난 다음 마법사가 설치 완료 결과를 나타내줍니다:
  17. 이제, Close 버튼을 클릭하여 마법사를 종료합니다.

IIS 8.0 설치 결과 살펴보기

IIS 8.0 및 ASP.NET 통합이 모두 설치되었으므로 IIS 8.0의 기본적인 ASP.NET 요소들을 살펴볼 수 있습니다.

  1. 윈도우 시작 메뉴에서 모든 프로그램을 선택한 다음, 관리 도구 메뉴를 확장합니다. 그리고, 목록에서 IIS(인터넷 정보 서비스) 관리자를 찾아서 선택하여 시각적인 IIS 관리 도구를 실행합니다:
  2. IIS 관리자가 시작된 뒤에, 좌측 윈도우에서 서버 노드를 확장하면 Application Pools 노드와 Sites 노드가 나타납니다. 이 때, IIS 관리자에서 대화 상자가 나타나서 최신 웹 플랫폼 구성 요소들에 대한 연결을 유지할 것인지를 물어보는데, 본문의 미리보기에서는 No를 클릭해도 무방합니다. 그러나, 실제 설치에서는 아마도 Yes를 클릭하여 웹 플랫폼 인스톨러가 URL 재작성 모듈 등과 같은 다양한 IIS 확장들을 다운로드하기를 바랄 것입니다. 이제, IIS 관리자의 모습은 다음 그림과 비슷할 것입니다:
  3. Application Pools 노드를 클릭하여 IIS 8.0에서 사용되는 설치된 응용 프로그램 풀들을 살펴봅니다:
  4. 그러면, IIS 8.0에 대해서 ASP.NET 3.5 및 ASP.NET 4.5를 활성화 시킬 때 기본적으로 생성된 여섯 가지 다른 응용 프로그램 풀들을 볼 수 있습니다. 이 중, 네 가지 응용 프로그램 풀은 IIS 8.0에서 새로 등장한 것이고, 다른 두 가지 응용 프로그램 풀은 이전 윈도우 릴리즈로부터 이어진 것입니다.
    • 비록 .NET Framework Version 컬럼에는 .NET 프레임워크의 버전이 "v2.0"과 "v4.0"으로 표시되지만, 실제로는 ASP.NET 3.5와 ASP.NET 4.5를 의미한다는 점에 유의하시기 바랍니다. 응용 프로그램 풀과 .NET 프레임워크의 특정 버전이 바인딩되는 내부적인 방법으로 인해서 본래의 .NET 프레임워크 파일의 버전과 대응하는 실제 버전 이름이 구성에 기록되기 때문입니다 (따라서, 도구에도 구성에 기록된 버전이 출력되는 것입니다). *
    • Classic .NET AppPoolDefaultAppPool은 윈도우의 이전 버전에서도 존재했으며, IIS 8.0에서도 계속 생성될 수 있습니다. 다만, 윈도우 서버 8의 기본 .NET 프레임워크가 .NET 4.5이기 때문에 IIS 8.0의 "DefaultAppPool" 역시 기본적으로 이 새로운 버전의 .NET 프레임워크를 사용한다는 점에 유의하시기 바랍니다.
    • 다른 네 가지 응용 프로그램 풀들은 윈도우 서버 8에서 새롭게 등장한 것입니다. 그 중, 두 가지 응용 프로그램 풀(.NET v2.0.NET v2.0 Classic)은 .NET 프레임워크 3.5 상에서 실행되고, 다른 두 가지 응용 프로그램 풀(.NET 4.5 and .NET 4.5 Classic)은 .NET 프레임워크 4.5 상에서 실행됩니다.
    • "classic" 응용 프로그램 풀과 "not classic" 응용 프로그램 풀간의 차이점은 각 응용 프로그램 풀 형식이 지원해주는 관리되는 파이프라인 모드에 있습니다. 이름이 "Classic"으로 끝나는 두 가지 응용 프로그램 풀들은 과거 윈도우 서버 2003 시절의 ASP.NET 클래스 파이프라인 모드를 지원해주는 반면, 다른 두 가지 응용 프로그램 풀들은 비스타/IIS 7.0에서 처음 소개된 새로운 ASP.NET 파이프라인 모드를 사용합니다. **
  5. 조금 더 자세히 살펴보도록 하겠습니다. 화면의 좌측에서 Sites 노드를 확장해서 Default Web Site 노드가 나타나게 만듭니다:
  6. IIS를 기본 설치하면 항상 80번 포트를 통한 HTTP 요청을 수신하기 위한 "Default Web Site"가 구성됩니다. 기본적으로 어떤 버전의 ASP.NET이 지원되는지 살펴보기 위해서 "Default Web Site"를 보다 자세하게 살펴보도록 하겠습니다. 다음 그림과 같이 Default Web Site를 마우스 오른쪽 버튼으로 클릭한 다음, Manage Website를 선택하고, Advanced Settings를 선택합니다:
  7. 그러면, Advanced Settings 대화 상자가 나타나고, (다른 항목들 사이로) "Default Web Site"를 실행하는데 사용되는 응용 프로그램 풀을 확인할 수 있습니다. 다음 그림에서 볼 수 있는 것처럼, "Default Web Site"는 "DefaultAppPool" 응용 프로그램 풀을 이용해서 실행됩니다:
  8. 응용 프로그램 풀의 우측에 보이는 조그만 "..." 버튼을 클릭해보면 "DefaultAppPool"에 대해 더 많은 정보들을 보여주는 추가적인 대화 상자가 나타납니다. 이미 앞에서 설명했던 것처럼 "DefaultAppPool"은 IIS 8.0의 ASP.NET 4.5에 대한 기본 응용 프로그램 풀이므로 "Default Web Site"에 배포된 ASP.NET 4.5 응용 프로그램은 특별한 추가 구성 없이도 정상적으로 동작합니다.
  9. 이제 Cancel 버튼을 차례로 클릭하여 Select Application Pool 대화 상자와 Advanced Settings 대화 상자를 모두 닫습니다.

* 사실상 .NET 프레임워크는 3.0은 .NET 프레임워크 2.0에 WF, WCF, WPF, 그리고 카드스페이스 등이 추가된 버전이며, .NET 프레임워크는 3.5는 다시 그 위에 LINQ, ASP.NET AJAX 등이 추가된 버전이라는 사실을 기억하고 있다면 이 말을 쉽게 이해할 수 있을 것입니다. 다시 말해서, .NET 프레임워크 3.5/3.0/2.0의 코어는 2.0으로 봐도 무방할 것입니다. ASP.NET 3.5 버전은 들어본 적도 없다며 반문하시던 어떤 면접관님이 문득 생각나네요. :-)

** 보통, 통합 파이프라인 모드와 클래식 파이프라인 모드라는 용어를 사용하여 이 두 가지 모드를 구분합니다. IIS 관리자 등에서도 이 용어가 사용됩니다. 클래식 파이프라인 모드는 본문의 설명 그대로 IIS 7.x 전에 사용되던 모드입니다. 조금 극단적으로 표현하자면 이 모드에서는 IIS에 ASP.NET이 얹혀 있는 수준이었다고 생각하시면 무리가 없으실 것입니다. ASP.NET이 IIS의 손님(客)이었달까요? 그래서, ASP.NET 자체적으로는 IIS의 내부 흐름(즉, 파이프라인)에 관여하기가 거의 불가능했었습니다.

반면, 통합 파이프라인 모드에서는 ASP.NET이 IIS에 의해 특별한 대우를 받습니다. IIS에 ASP.NET이 녹아들어갔다고 생각하시면 됩니다. 그 결과, IIS 자체에 대한 조작성이 극대화되었고, 과거 ISAPI 필터/확장으로 구현했어야만 했던 영역까지도 다룰 수 있게 되었습니다. 상식적인 수준에서 생각해 봤을 때 처리 속도면에서도 큰 이득이겠죠?

다만, 이처럼 내부 깊숙한 부분의 무언가가 바뀌었기 때문에 일반적인 프로그램이 아닌 해당 부분과 연관된 특정 코드/프로그램은 예상하지 못한 결과를 얻을 수 있습니다. 그런 가능성이 가장 높은 요소들 중 하나로 만들어진지 오래된 STA COM 컴포넌트가 사용되는 프로그램/모듈 등을 들 수 있습니다. 지면 관계상 짧게 결론을 내려본다면, 이런 이유들로 인해서 새로 개발되는 시스템이나 비교적 최근에 개발된 ASP.NET 프로그램들은 통합 파이프라인 모드를 선택하는 것이 바람직하지만, 윈도우 서버 2008 시절 이전에 개발된 프로그램을 이행하신다면 먼저 클래식 파이프라인 모드를 적용하시고 점진적인 검증을 통해서 통합 파이프라인 모드로 전환하셔야만 합니다. 이것이 바로 클래식 파이프라인 모드가 제공되는 이유 중 하나입니다.

ASP.NET 3.5와 ASP.NET 4.5 응용 프로그램을 모두 실행하기

지금까지 IIS 8.0의 설정 상태를 살펴봤으므로 이번에는 단일 IIS 8.0상에서 동시에 ASP.NET 3.5와 ASP.NET 4.5 응용 프로그램이 모두 실행되는 것을 확인하기 위해서 샘플 ASP.NET 코드를 실행해보도록 하겠습니다.

ASP.NET 3.5 및 ASP.NET 4.5에 대한 샘플 코드는 다음 .zip 파일에 포함되어 있습니다:

examples.zip

첫 번째로, IIS 8.0상에 간단한 ASP.NET 3.5 응용 프로그램을 설정해보도록 하겠습니다:

  1. "examples.zip" 파일을 엽니다.
  2. 윈도우 8 머신의 윈도우 탐색기를 이용해서 IIS가 설치되어 있는 "wwwroot" 디렉터리로 이동합니다. 예를 들어서, IIS가 "C:\" 드라이브에 설치되어 있다면, "wwwroot" 디렉터리는 "c:\inetpub\wwwroot"에 위치해 있을 것입니다.
  3. "examples.zip"에서 "example35" 폴더를 복사하여 "c:\inetpub\wwwroot" 디렉터리에 붙여 넣습니다. 이 작업을 마치고 나면 디렉터리 구조는 다음 그림과 같을 것입니다:
  4. IIS 관리자를 사용해서 지금 새로 생성한 "example35" 폴더를 ASP.NET 3.5 응용 프로그램으로 구성해야만 합니다. 따라서, IIS 관리자 창으로 다시 돌아와서 Default Web Site 노드를 클릭한 다음 Refresh를 선택합니다. 그러면, 트리뷰의 Default Web Site 노드 하위에 "example35" 폴더가 나타날 것입니다:
  5. example35 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 Convert to Application을 선택합니다:
  6. 그러면, Add Application 대화 상자가 나타납니다. 기본적으로 Default Web Site의 모든 하위 디렉터리들은 DefaultAppPool 응용 프로그램 풀의 일부입니다. 따라서, ASP.NET 응용 프로그램을 담고 있는 새로 생성된 폴더 역시 기본적으로 ASP.NET 4.5 응용 프로그램으로 실행됩니다.
  7. example35 폴더는 ASP.NET 3.5 응용 프로그램으로 실행되어야 하므로 응용 프로그램 풀을 변경해야 합니다. Select 버튼을 클릭하면 Select Application Pool 대화 상자가 나타납니다. 그러면, 다음 그림과 같이 응용 프로그램 풀을 .NET v2.0으로 변경합니다:
  8. OK 버튼을 클릭하여 응용 프로그램 풀 변경을 반영한 다음, 다시 OK 버튼을 클릭하여 변경 사항을 IIS에 반영합니다. 그러면, IIS 관리자 창이 다시 나타납니다. 이제, 트리뷰에서 "Default Web Site" 하위의 "example35" 폴더를 살펴보면 별개의 ASP.NET 응용 프로그램임을 나타내는 아이콘으로 변경되어 있을 것입니다.
  9. 이제 인터넷 익스플로러를 실행시키고 다음 Url로 이동해봅니다:

    http://localhost/example35

    그러면 잠시 후, 이 응용 프로그램에서 지원해주는 .NET 프레임워크 기능들의 목록이 출력될 것입니다.
  10. 윈도우 탐색기를 이용해서 "c:\inetpub\wwwroot\example35" 디렉터리로 이동한 다음, 메모장을 사용하여 "default.aspx"의 코드나 "web.config"의 정보들을 살펴볼 수도 있습니다. 예를 들어서, web.config의 내용 중에는 .NET Framework 컴파일러가 "3.5" 모드로 실행되도록 구성하는 명령이 포함되어 있습니다. 또한, "default.aspx"의 .NET 프레임워크 C# 코드는 LINQ-to-Object 질의 같이 .NET 3.5에서 새로 도입된 일부 기능들을 이용하여 작성되어 있습니다.

이제 ASP.NET 3.5 응용 프로그램이 실행되고 있으므로, 이번에는 .NET 4.5를 사용하도록 구성된 두 번째 ASP.NET 응용 프로그램을 생성해보도록 하겠습니다.

  1. 다시 "examples.zip" .zip 파일이 열려있는 윈도우 탐색기 창으로 돌아갑니다.
  2. "example45" 폴더로 이동합니다.
  3. 두 번째 윈도우 탐색기 창에서 "c:\inetpub\wwwroot"로 이동합니다.
  4. .zip 파일의 "default.aspx" 파일을 복사한 다음, "c:\inetpub\wwwroot" 디렉터리에 복사합니다. 이제, "c:\inetpub\wwwroot" 폴더의 내용은 다음과 같을 것입니다:
  5. 인터넷 인스플로러로 돌아가서 다음 Url로 이동해봅니다:

    http://localhost/default.aspx

    그러면 잠시 후, "Default Web Site"에 대한 ASP.NET 4.5 응용 프로그램이 실행되는 두 번째 응용 프로그램 풀이 시작됩니다. 그리고, 이번에는 마지막 부분에 동적 유형 변수들에 대한 새로운 항목이 추가된, 이 응용 프로그램에서 지원되는 .NET 프레임워크 기능들의 목록이 브라우저에 출력될 것입니다 (dynamic 키워드는 .NET 4.0/4.5에서 도입되었습니다). 특정 web.config 항목들을 필요로 하던 "example35" 응용 프로그램과는 달리 "Default Web Site"에서 "default.aspx" 페이지를 구성하고 실행하기 위한 별도의 web.config 파일이 필요하지 않다는 점에 유의하시기 바랍니다. 그 이유는 IIS 8.0에서 ASP.NET 응용 프로그램을 실행하기 위해 사용되는 기본 .NET 프레임워크가 .NET 프레임워크 4.5이기 때문에 추가적인 구성이 불필요하기 때문입니다.
  6. 방금 복사한 "default.aspx" 페이지를 메모장으로 열어서, "example35" 디렉터리의 버전과 다른 부분들을 살펴볼 수도 있습니다. IIS 8.0에서는 .NET 프레임워크 4.5가 기본이기 때문에 페이지의 상단에 네임스페이스 지시자가 존재하지 않는 것을 확인할 수 있습니다. 그리고, .NET 4.0/4.5에서 처음 소개된 컴파일러 개념인 dynamic 변수를 페이지에서 사용하고 있는 것을 볼 수 있습니다.

요약

IIS 8.0은 하나의 머신에서 서로 다른 .NET 프레임워크 버전을 호스트하는 개별적인 응용 프로그램 풀을 통해서 ASP.NET 3.5와 ASP.NET 4.5 응용 프로그램을 동시에 실행할 수 있습니다. IIS 8.0은 개발자와 관리자들이 IIS 8.0의 이점을 얻을 수 있도록 다중 .NET 프레임워크 버전들을 지원해주고 윈도우 서버 2008 R2로부터 이전된 웹 응용 프로그램들을 위한 하위 호환성 관리도 지원해줍니다.