Usar ensamblados en paralelo como un recurso
Puede agregar un manifiesto a una aplicación como recurso en el archivo de encabezado ejecutable binario de la aplicación. El valor del MANIFEST_RESOURCE_ID determina cómo el cargador usa las dependencias de ensamblado en paralelo descritas en el manifiesto.
Si establece el MANIFEST_RESOURCE_ID en 1, el cargador usa las dependencias de ensamblado en paralelo especificadas en el manifiesto como valor predeterminado del proceso. Todos los complementos también usan este proceso predeterminado.
En la tabla siguiente se resume cómo el cargador usa el manifiesto para distintos valores de MANIFEST_RESOURCE_ID cuando la aplicación se compila con la marca -DISOLATION_AWARE_ENABLED. Tenga en cuenta que los valores 1-16 están reservados para su uso por Windows XP. Un desarrollador puede usar otros valores si desean administrar los contextos de activación mediante las funciones que se describen en la Referencia de contexto de activación.
Valor de MANIFEST_RESOURCE_ID | ¿El manifiesto especifica el valor predeterminado del proceso? | ¿Se usa para importaciones estáticas? | ¿Se usa para un EXE? | ¿Se usa para un archivo DLL? | ¿Usa la versión en paralelo de los ensamblados si se compila con -DISOLATION_AWARE_ENABLED? |
---|---|---|---|---|---|
1 | Sí | Sí | Sí | No | Sí |
2 | No | Sí | Sí | Sí | Sí |
3 | No | No | Sí | Sí | Sí |
MANIFEST_RESOURCE_ID 1 debe usarse para las aplicaciones que no hospedan complementos. Use MANIFEST_RESOURCE_ID 1 cuando todas las partes de la aplicación deben usar la versión del ensamblado en paralelo especificado en el manifiesto. Para obtener más información, consulte Habilitación de un ensamblado en una aplicación sin extensiones.
MANIFEST_RESOURCE_ID 2 debe usarse para las aplicaciones que hospedan complementos o controles de terceros. En este caso, el manifiesto afecta a todos los ensamblados en paralelo que se cargan mediante la carga estática, las llamadas a DllMain y las llamadas redirigidas por -DISOLATION_AWARE_ENABLED. Para obtener más información, consulte Habilitación de un ensamblado en una aplicación que hospeda un archivo DLL, una extensión o un Panel de control.
MANIFEST_RESOURCE_ID 3 solo se debe usar para redirigir las llamadas mediante -DISOLATION_AWARE_ENABLED. La carga por otros métodos no se ve afectada.