Introducción a la generación de manifiestos para los programas de C/C++

Un manifiesto es un documento XML que puede ser un archivo XML externo o un recurso incrustado dentro de una aplicación o un ensamblado. El archivo de manifiesto de una aplicación aislada se utiliza para administrar los nombres y las versiones de los ensamblados en paralelo compartidos con los que se debe enlazar la aplicación en tiempo de ejecución. El manifiesto de un ensamblado en paralelo especifica sus dependencias respecto a nombres, versiones, recursos y otros ensamblados.

Hay dos maneras de crear un manifiesto para una aplicación aislada o un ensamblado en paralelo. Primero, el creador del ensamblado puede generar manualmente un archivo de manifiesto siguiendo reglas y requisitos de nomenclatura. Alternativamente, si un programa sólo depende de ensamblados de Visual C++ como CRT, MFC, ATL u otros, el vinculador puede generar automáticamente un manifiesto.

Los encabezados de las bibliotecas de Visual C++ contienen información de ensamblado, y cuando las bibliotecas se incluyen en el código de la aplicación, esta información de ensamblado la usa el vinculador para formar un manifiesto correspondiente al archivo binario final. El vinculador no incrusta el archivo de manifiesto dentro del archivo binario y sólo puede generar el manifiesto como un archivo externo. Tener un manifiesto como archivo externo podría no funcionar en todos los escenarios. Por ejemplo, se recomienda que los ensamblados privados tengan manifiestos incrustados. En las compilaciones de línea de comandos como las que utilizan nmake para compilar código, se puede incrustar un manifiesto utilizando la herramienta Manifiesto; para obtener más información, vea Generación de manifiestos en la línea de comandos. Al compilar en Visual Studio, se puede incrustar un manifiesto estableciendo una propiedad para la herramienta Manifiesto en el cuadro de diálogo Propiedades del proyecto; vea Generación de manifiestos en Visual Studio.

Vea también

Conceptos

Conceptos de aplicaciones aisladas y ensamblados simultáneos

Otros recursos

Compilar aplicaciones aisladas y ensamblados simultáneos de C/C++