Share via


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

COM 응용 프로그램에서 관리되는 형식을 활성화하려면 공용 언어 런타임이 메모리에 로드되어 있어야 합니다. 실제로 런타임을 로드하는 것은 COM interop가 아니라 런타임 시작 코드이지만 COM 응용 프로그램에서는 특정 버전의 런타임을 대상으로 지정할 수 있습니다.

런타임 버전은 다음 요소에 의해 결정됩니다.

  • COM 응용 프로그램은 응용 프로그램 구성 파일에서 런타임 버전을 지정할 수 있습니다. 자세한 내용은 Side-By-Side 실행을 위한 COM 응용 프로그램 구성을 참조하십시오.

  • 런타임은 Microsoft Internet Explorer 또는 Microsoft Office 같은 확장 가능한 호스트에 의해 메모리에 이미 로드되었을 수 있습니다. 플러그 인 COM 응용 프로그램에서는 해당 호스트에 대해 로드된 런타임을 사용하여 관리되는 구성 요소를 실행합니다.

  • 엄격한 제어가 필요할 경우 COM 응용 프로그램에서는 mscoree.dll에서 내보낸 ICLRMetaHostPolicy::GetRequestedRuntime 메서드를 호출하여 프로그래밍 방식으로 특정 버전의 런타임을 미리 로드할 수 있습니다. 또는, mscoree.dll에서 내보낸 GetRequestedRuntimeVersionForCLSID 함수를 호출하고 반환 값을 CorBindToRuntimeHost 함수에 전달하는 방법으로, 활성화된 COM 클래스에 따라 다른 버전의 런타임을 대상으로 지정할 수 있습니다.

이러한 요소에 해당되지 않을 경우에는 Side-By-Side 실행을 위한 COM 응용 프로그램 구성에 설명된 기본 로딩 동작에 따라 시작 코드가 런타임을 로드합니다.

형식 확인

활성화할 형식이 포함된 어셈블리의 여러 버전이 Windows 레지스트리에 있을 경우 런타임에서는 기본적으로 최신 버전을 로드합니다.

COM 응용 프로그램에 응용 프로그램 구성 파일이 있을 경우 바인딩은 특정 버전의 어셈블리에 있는 형식으로 리디렉션될 수 있습니다. 자세한 내용은 Side-By-Side 실행을 위한 COM 응용 프로그램 구성을 참조하십시오.

참고참고

.NET Framework 버전 1.0과 함께 설치된 구성 요소에는 버전별 레지스트리 키가 없습니다.이러한 구성 요소의 경우 컴퓨터에는 COM에서 사용할 수 있는 형식의 버전이 하나만 있습니다.

참고 항목

개념

버전별 레지스트리 키

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

버전별 특성 적용

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

기타 리소스

COM Interop의 Side-By-Side 실행