Side-By-Side 실행을 위한 COM 응용 프로그램 구성

응용 프로그램 구성 파일을 통해 COM 응용 프로그램은 관리되는 특정 구성 요소에 바인딩하고 이 구성 요소를 실행하는 런타임 버전을 지정할 수 있습니다. COM 응용 프로그램 개발자는 .NET Framework 응용 프로그램 구성 파일을 만들고 이 파일을 응용 프로그램과 함께 배포할 수 있습니다.

기본 로드 동작

관리되지 않는 응용 프로그램에 응용 프로그램 구성 파일이 없는 경우 구성 요소를 로드하는 데 사용할 런타임의 버전은 다음과 같이 결정됩니다.

  • .NET Framework 버전 4 이상 버전을 사용하여 만든 구성 요소는 이를 만드는 데 사용한 런타임을 통해 로드됩니다.

  • 이전 버전의 .NET Framework를 사용하여 만든 구성 요소는 버전 4 이전의 런타임 중 컴퓨터에 설치되어 있는 최신 버전을 사용하여 로드됩니다. 예를 들어 구성 요소를 만드는 데 .NET Framework 버전 1.1을 사용했고 컴퓨터에 .NET Framework 1.1, .NET Framework 3.5 SP1 및 .NET Framework 4라는 세 가지 버전의 .NET Framework가 설치되어 있으면 .NET Framework 3.5 SP1을 사용하여 구성 요소가 로드됩니다. 이는 .NET Framework 4 이전 버전의 기본 동작입니다.

이와 같은 로드 동작은 동일한 프로세스에 Side-by-Side 방식으로 로드된 구성 요소에 영향을 줍니다. .NET Framework 4의 런타임은 이전 버전의 .NET Framework에 사용되는 런타임과 함께 In-Process 방식으로 실행할 수 있습니다. In-Process Side-by-Side 실행를 참조하십시오.

런타임 버전 지정

기본 로드 동작이 COM 응용 프로그램의 요구 사항에 맞지 않으면 응용 프로그램 구성 파일에 <supportedRuntime> 요소를 사용하여 응용 프로그램에 필요한 런타임 버전을 지정할 수 있습니다. 예를 들어 런타임 버전 1.1.4322를 지정하여 .NET Framework 버전 1.1을 로드하게 할 수 있습니다. 자세한 내용은 대상 .NET Framework 버전 지정을 참조하십시오.

참고참고

Microsoft Internet Explorer 또는 Microsoft Office 같은 확장 가능한 호스트에 의해 호스팅되는 COM 응용 프로그램에서는 로드될 런타임 버전을 제어할 수 없습니다.

구성 요소를 만드는 데 .NET Framework 4와 이전 버전의 .NET Framework를 모두 사용했으면 두 버전을 모두 지원되는 런타임으로 지정해야 합니다. 기본 로드 동작에서는 이전 버전의 구성 요소를 로드하는 데 .NET Framework 4를 사용하지 않기 때문입니다. 이전 버전의 구성 요소를 로드하는 데 .NET Framework 4를 사용하려면 구성 파일의 <startup> 요소에서 useLegacyV2RuntimeActivationPolicy 특성을 true로 설정해야 합니다. 이렇게 하면 지원되는 최신 .NET Framework 버전을 사용하는 .NET Framework 4 이전의 기본 로드 동작으로 되돌아갈 수 있습니다.

어셈블리 버전 지정

응용 프로그램 구성 파일이 없으면 런타임에서는 COM에서 활성화될 형식을 포함하며 Windows 레지스트리에 등록된 최신 버전의 어셈블리를 로드합니다. 응용 프로그램 구성 파일에 <bindingRedirect> 요소를 사용하여 응용 프로그램이 이전 버전의 어셈블리에 바인딩되도록 할 수 있습니다. 자세한 내용은 어셈블리 버전 리디렉션을 참조하십시오.

<dependentAssembly> 요소 내에 여러 개의 <bindingRedirect> 요소를 사용하면 둘 이상의 어셈블리 버전을 리디렉션할 수 있습니다.

참고 항목

참조

<startup> 요소

<supportedRuntime> 요소

<bindingRedirect> 요소

개념

COM 응용 프로그램에서 런타임 초기화

버전별 레지스트리 키

버전별 특성 적용

COM 구성 요소 및 Side-By-Side 실행

어셈블리 버전 리디렉션

기타 리소스

COM Interop의 Side-By-Side 실행