방법: 서로 다른 버전의 .NET Framework를 사용하는 웹 응용 프로그램을 동일한 서버에 호스팅

서버에 새 버전의 .NET Framework를 설치하되 이 서버에서 실행되는 모든 웹 응용 프로그램을 새 버전의 .NET Framework를 사용하도록 업그레이드하지는 않으려는 경우 여러 버전의 .NET Framework를 side-by-side로 실행할 수 있습니다.

각 ASP.NET 응용 프로그램은 특정 버전의 CLR(공용 언어 런타임)에서 실행되도록 구성됩니다. 서버에서 여러 버전의 CLR이 side-by-side로 실행되고 있는 경우에는 각 웹 응용 프로그램을 특정 CLR 버전과 연결할 수 있습니다.

참고참고

.NET Framework 3.5 또는 그 이전 버전을 대상으로 하는 IIS 웹 응용 프로그램이 .NET Framework 4을 대상으로 하는 IIS 웹 응용 프로그램에 중첩된 경우, 중첩된 응용 프로그램을 컴파일할 때 컴파일러에서 오류를 보고할 수 있습니다. 이는 Web.config 파일이 구성 파일 계층 구조에서 보다 상위에 있는 파일의 설정을 상속하기 때문입니다. .NET Framework 4은 이전 버전과 호환되므로 .NET Framework 4을 대상으로 하는 중첩된 응용 프로그램이 이전 버전용 Web.config 파일의 설정을 상속할 수 있습니다. 하지만 이전 버전의 .NET Framework는 이후 버전과 호환되지 않으므로 .NET Framework 4 Web.config 파일의 설정을 상속할 수 없습니다. 이전 버전의 ASP.NET을 실행하는 응용 프로그램의 자식으로 구성된 ASP.NET 4 응용 프로그램이 실행되지 않을 수도 있습니다. 이 문제를 해결하는 방법에 대한 자세한 내용은 ASP.NET 웹 사이트의 ASP.NET 4 Beta 2 Breaking Changes 문서에 있는 "ASP.NET 4 Child Applications Fail to Start When Under ASP.NET 2.0 or ASP.NET 3.5 Applications" 단원을 참조하십시오.

자세한 내용은 ASP.NET Side-by-Side 실행 개요를 참조하십시오.

여러 버전의 .NET Framework를 동일한 컴퓨터에 설치할 수 있습니다. 특정 버전의 .NET Framework를 제거할 수도 있습니다.

한 버전의 .NET Framework를 설치하려면

  1. 설치하려는 버전에 대한 .NET Framework 재배포 가능 패키지 설치 프로그램(Dotnetfx.exe)을 실행합니다.

    이미 이전 버전이 있는 서버에 추가 버전의 CLR을 설치할 경우 추가 버전이 더 최신 버전이더라도 기존 ASP.NET 응용 프로그램은 새로 설치된 버전을 사용하도록 자동으로 업그레이드되지 않습니다. 응용 프로그램을 특정 버전의 CLR과 연결하는 방법에 대한 자세한 내용은 이 문서 뒷부분의 절차를 참조하십시오.

    .NET Framework를 설치하는 방법에 대한 자세한 내용은 개발자를 위한 .NET Framework 배포 가이드 또는 관리자를 위한 .NET Framework 배포 가이드를 참조하십시오.

  2. 다음 방법 중 하나로 IIS에서 ASP.NET이 사용하도록 설정되어 있는지 확인합니다.

    • IIS 6.0의 경우, 보안 잠금 콘솔을 사용합니다.

    • IIS 7.0의 경우, IIS 관리자의 ISAPI 및 CGI 제한이라는 모듈을 사용합니다.

    제어판의 프로그램 추가/제거 응용 프로그램이나 Windows 서버 구성 마법사를 통해 .NET Framework를 설치한 경우 기본적으로 ASP.NET은 보안 잠금 콘솔에서 활성화됩니다. 그러나 .NET Framework가 Microsoft Visual Studio, Windows Update 또는 .NET Framework 재배포 가능 패키지(Dotnetfx.exe)를 통해 설치된 경우 ASP.NET은 기본적으로 비활성화됩니다.

  3. 필요한 경우 현재 구성 파일에서 사용자 지정 구성 설정을 새 Machine.config 파일로 전송합니다.

    CLR의 각 버전마다 별도 버전의 Machine.config 파일이 있습니다. 새 버전의 CLR을 설치할 경우 현재 Machine.config 파일의 사용자 지정 구성 설정이 새로 설치한 Machine.config 파일로 자동으로 전송되지 않습니다.

한 버전의 .NET Framework를 제거하려면

  • 제어판의 프로그램 추가/제거 응용 프로그램을 사용하여 특정 버전의 .NET Framework를 제거합니다.

    제거하는 동안 설치 프로그램은 -u 옵션(제거 플래그)을 사용하여 ASP.NET IIS 등록 도구(Aspnet_regiis.exe)를 호출합니다. Aspnet_regiis.exe 도구의 -u 옵션에 대한 자세한 내용은 ASP.NET IIS 등록 도구(Aspnet_regiis.exe)를 참조하십시오.

    주의 정보주의

    서버에서 최신 버전의 ASP.NET을 제거하면 IIS에서는 나머지 ASP.NET 응용 프로그램의 ASP.NET 페이지를 리터럴 텍스트로 렌더링합니다. 이로 인해 클라이언트에 소스 코드가 노출될 수 있습니다.

서버에 두 번째(또는 후속) 버전의 .NET Framework를 설치한 후 ASP.NET 응용 프로그램을 특정 버전의 CLR과 연결할 수 있습니다. 이 작업을 수행하기 위한 절차는 IIS 7.0과 IIS 6.0의 경우에 각기 다릅니다.

IIS 7.0에서 웹 응용 프로그램을 특정 버전의 CLR과 연결하려면

  1. Windows에서 시작, 실행을 차례로 클릭합니다.

  2. 실행 대화 상자에서 inetmgr을 입력한 다음 확인을 클릭합니다.

  3. 연결 창에서 서버 노드를 확장하고 응용 프로그램 풀을 클릭합니다.

  4. 응용 프로그램 풀 페이지에서 변경할 응용 프로그램이 포함된 응용 프로그램 풀을 선택합니다.

  5. 작업 창에서 응용 프로그램 보기를 클릭합니다.

  6. 응용 프로그램 풀을 변경할 응용 프로그램을 선택한 다음 작업 창에서 응용 프로그램 풀 변경을 클릭합니다.

    응용 프로그램 풀 선택 대화 상자가 표시됩니다.

  7. 응용 프로그램 풀 목록에서 응용 프로그램을 실행하는 데 사용할 CLR과 연결된 응용 프로그램 풀을 선택한 다음 확인을 클릭합니다.

    원하는 CLR 버전에 대한 응용 프로그램 풀이 없으면 새 응용 프로그램 풀을 만들어야 합니다. 자세한 내용은 IIS 7.0: IIS 7.0에서 응용 프로그램 풀 관리를 참조하십시오.

IIS 6.0에서 웹 응용 프로그램을 특정 버전의 CLR과 연결하려면

표시: