Partager via


Fonctionnement de la génération de manifestes pour les programmes C/C++

Un manifeste est un document XML qui peut être un fichier XML externe ou une ressource incorporée dans une application ou un assembly. Le manifeste d'une application isolée sert à gérer les noms et les versions des assemblys côte à côte partagés auxquels l'application doit être liée au moment de l'exécution. Le manifeste d'un assembly côte à côte spécifie ses dépendances vis-à-vis des noms, des versions, des ressources et des autres assemblys.

Il existe deux façons de créer un manifeste pour une application isolée ou un assembly côte à côte. Tout d'abord, l'auteur de l'assembly peut créer manuellement un fichier manifeste conforme aux règles et aux obligations de dénomination. En outre, si un programme dépend uniquement d'assemblys Visual C++ tels que CRT, MFC, ATL, etc., un manifeste peut alors être généré automatiquement par l'éditeur de liens.

Les en-têtes de bibliothèques Visual C++ contiennent des informations sur les assemblys et, lorsque les bibliothèques sont incluses dans le code d'application, ces informations sont utilisées par l'éditeur de liens pour former un manifeste pour le fichier binaire final. L'éditeur de liens n'incorpore pas le fichier manifeste au fichier binaire et ne peut générer le manifeste que sous forme de fichier externe. Un manifeste sous forme de fichier externe peut ne pas être utilisé dans tous les scénarios. Par exemple, il est recommandé que les assemblys privés aient des manifestes incorporés. Dans les générations de ligne de commande telles que celles qu'utilise nmake pour générer du code, un manifeste peut être incorporé à l'aide de l'outil de manifeste ; pour plus d'informations, consultez Génération de manifeste au niveau de la ligne de commande. Lors d'une construction dans Visual Studio, il est possible d'incorporer un manifeste en définissant une propriété de l'outil de manifeste dans la boîte de dialogue Propriétés du projet ; consultez Génération de manifeste dans Visual Studio.

Voir aussi

Concepts

Concepts d'applications isolées et d'assemblys côte à côte

Autres ressources

Génération d'applications isolées C/C++ et d'assemblys côte à côte