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