Manifestgenerierung für C/C++-Programme
Ein Manifest ist ein XML-Dokument, das entweder als externe XML-Datei vorliegt oder als Ressource in einer Anwendung oder Assembly eingebettet ist.Das Manifest einer isolierten Anwendung wird zur Verwaltung der Namen und Versionen freigegebener paralleler Assemblys verwendet, an die die Anwendung zur Laufzeit gebunden werden muss.Das Manifest einer parallelen Assembly gibt deren Abhängigkeiten von Namen, Versionen, Ressourcen sowie anderen Assemblys an.
Es gibt zwei Möglichkeiten, für eine isolierte Anwendung oder eine parallele Assembly ein Manifest zu erstellen.Zum einen kann der Entwickler der Assembly manuell eine Manifestdatei erstellen, die den Regeln und Namenskonventionen entspricht.Alternativ kann der Linker automatisch ein Manifest generieren, wenn ein Programm nur von Visual C++-Assemblys wie CRT, MFC, ATL oder anderen abhängig ist.
Die Header von Visual C++-Bibliotheken enthalten Assemblyinformationen. Wenn diese Bibliotheken in den Anwendungscode eingeschlossen werden, werden diese Assemblyinformationen vom Linker zum Erstellen eines Manifests für die endgültige Binärdatei verwendet.Der Linker bettet die Manifestdatei nicht in die Binärdatei ein, er kann das Manifest nur als externe Datei generieren.Ein Manifest in Form einer externen Datei kann möglicherweise nicht in allen Szenarios verwendet werden.So wird z. B. empfohlen, dass private Assemblys über eingebettete Manifeste verfügen.Mithilfe des Manifesttools kann ein Manifest auch in ein mit nmake erstelltes Befehlszeilenbuild eingebettet werden. Weitere Informationen finden Sie unter Manifestgenerierung über die Befehlszeile.Beim Erstellen in Visual Studio kann ein Manifest eingebettet werden, indem im Dialogfeld Projekteigenschaften eine Eigenschaft für das Manifesttool festgelegt wird. Weitere Informationen finden Sie unter Manifestgenerierung in Visual Studio.
Siehe auch
Konzepte
Konzept der isolierten Anwendungen und der parallelen Assemblys
Weitere Ressourcen
Erstellen von isolierten Anwendungen und parallelen Assemblys (C/C++)