Cargar Common Language Runtime en un proceso

Actualización: noviembre 2007

Antes de poder ejecutar un código administrado, el host debe cargar e inicializar Common Language Runtime. Todos los hosts comienzan con un código auxiliar no administrado porque Common Language Runtime aún no se está ejecutando en el proceso. .NET Framework dispone de un conjunto de API no administradas denominadas API de alojamiento que el host puede utilizar para iniciar el motor en tiempo de ejecución. Para obtener más información, vea Interfaces de hospedaje.

Para cargar el motor en tiempo de ejecución en un proceso, un host llama a la función CorBindToRuntimeEx (Función). El prototipo para CorBindToRuntimeEx (Función) se encuentra en Mscoree.h en el directorio Include de Kit de desarrollo de software de Windows (SDK). El host utiliza CorBindToRuntimeEx (Función) para controlar cuál es la versión del motor en tiempo de ejecución que se debe cargar y el comportamiento de funciones básicas como son la recolección de elementos no utilizados y la carga del ensamblado. Un host puede establecer los valores enumerados en la siguiente tabla.

Valor

Descripción

Recolección simultánea de elementos no utilizados

Especifica si la recolección de elementos no utilizados se realiza en subprocesos en segundo plano o en subprocesos que ejecutan código de usuario.

Optimización del cargador

Controla si los ensamblados se cargan de manera neutral con respecto al dominio. Cargar ensamblados de manera neutral para el dominio permite compartir el código del ensamblado compilado con JIT y las estructuras de datos en tiempo de ejecución de sólo lectura en todos los dominios de aplicación de un proceso.

Para obtener más información, vea Dominios de aplicación y ensamblados.

Servidor y Workstation

Especifica si se carga la compilación de la estación de trabajo ("wks") o la compilación del servidor ("svr") del motor en tiempo de ejecución.

Versión

Especifica qué versión del motor en tiempo de ejecución se debe cargar en el proceso. Para cargar la versión 1.0, utilice "v1.0.3705". Para cargar la versión 1.1, utilice "v1.1.4322". Para cargar la versión 2.0, utilice "v2.0.50727". Un proceso puede cargar sólo una versión del motor en tiempo de ejecución.

Para obtener más información, vea Ejecución simultánea

CorBindToRuntimeEx (Función) toma tres parámetros adicionales: CLSID del objeto que contiene la interfaz ICLRRuntimeHost, CLSID_CLRRuntimeHost; IID de la interfaz, IID_ICLRRuntimeHost; y un parámetro [out] que recibe el puntero ICLRRuntimeHost.

Nota:

Para las versiones 1.0 y 1.1, utilice CLSID_CorRuntimeHost e IID_ICorRuntimeHost para obtener la interfaz ICorRuntimeHost.

Utilice ICLRRuntimeHost para iniciar el motor en tiempo de ejecución, ejecutar el código administrado, obtener un puntero a la interfaz ICLRControl que proporciona el acceso a los administradores implementados por Common Language Runtime y registrar un objeto de control host que implementa la interfaz IHostControl. Common Language Runtime llama a IHostControl para determinar qué administradores implementa el host.

Vea también

Conceptos

Transición al código administrado del host

Referencia

AppDomainSetup

CorBindToRuntimeEx (Función)

ICLRRuntimeHost

ICLRControl

Otros recursos

Alojar Common Language Runtime