Assemblymanifeste
Ein Assemblymanifest ist eine XML-Datei, die eine nebeneinander angezeigte Assembly beschreibt. Assemblymanifeste beschreiben die Namen und Versionen von nebenseitigen Assemblys, Dateien und Ressourcen der Assembly sowie die Abhängigkeit der Assembly von anderen nebenseitigen Assemblys. Die korrekte Installation, Aktivierung und Ausführung von nebeneinander ausgeführten Assemblys erfordert, dass das Assemblymanifest immer eine Assembly auf dem System begleitet.
Eine vollständige Auflistung des XML-Schemas finden Sie unter Manifestdateischema.
Assemblymanifeste verfügen über die folgenden Elemente und Attribute.
| Element | Attribute | Erforderlich |
|---|---|---|
| Versammlung | Yes | |
| manifestVersion | Yes | |
| noInheritable | No | |
| Assemblyidentity | Ja | |
| type | Ja | |
| name | Ja | |
| language | No | |
| Processorarchitecture | No | |
| version | Yes | |
| Publickeytoken | No | |
| Abhängigkeit | No | |
| Dependentassembly | No | |
| file | No | |
| name | Ja | |
| Hashalg | No | |
| hash | No | |
| comClass | No | |
| description | No | |
| Clsid | Yes | |
| threadingModel | No | |
| tlbid | No | |
| Progid | No | |
| miscStatus | No | |
| miscStatusIcon | No | |
| miscStatusContent | No | |
| miscStatusDocPrint | No | |
| miscStatusDocPrint | No | |
| Typelib | No | |
| tlbid | Yes | |
| version | Yes | |
| helpdir | Yes | |
| Resourceid | No | |
| flags | No | |
| comInterfaceExternalProxyStub | No | |
| Iid | Yes | |
| baseInterface | No | |
| numMethods | No | |
| name | No | |
| tlbid | No | |
| proxyStubClsid32 | No | |
| comInterfaceProxyStub | No | |
| Iid | Yes | |
| name | Ja | |
| tlbid | No | |
| baseInterface | No | |
| numMethods | No | |
| proxyStubClsid32 | No | |
| threadingModel | No | |
| windowClass | No | |
| Versionierte | No |
Speicherort
Assemblymanifeste können an drei Speicherorten installiert werden:
- Als Manifeste, die freigegebene Assemblys begleiten,sollten Assemblymanifesten als separate Datei im nebeneinander angezeigten Assemblycache installiert werden. Dies ist in der Regel der Ordner WinSxS im Windows Verzeichnis.
- Als Manifeste, die private Assemblys begleiten,sollten Assemblymanifeste in der Verzeichnisstruktur der Anwendung installiert werden. Dies ist in der Regel eine separate Datei im selben Ordner wie die ausführbare Datei der Anwendung.
- Als Ressource in einer DLL ist die Assembly für die private Verwendung der DLL verfügbar. Ein Assemblymanifest kann nicht als Ressource in eine EXE-Datei eingeschlossen werden. Eine EXE-Datei kann ein Anwendungsmanifest als Ressource enthalten.
Dateinamensyntax
Der Name eines Assemblymanifests ist ein beliebiger gültiger Dateiname gefolgt von .manifest.
Beispielsweise würde ein Assemblymanifest, das auf myassembly verweist, die folgende Dateinamensyntax verwenden. Sie können das Feld <Ressourcen-ID> weglassen, wenn das Assemblymanifest als separate Datei installiert wird oder die Ressourcen-ID 1 ist.
- myassembly.
-
Versammlung
-
Ein Containerelement. Das erste Unterelement muss ein assemblyIdentity- oder noInheritable-Element sein. Das Assemblymanifest beschreibt eindeutig die durch assemblyIdentity identifizierte assembly-by-side-Assembly. Erforderlich.
Das Assemblyelement muss sich im Namespace "urn:schemas-microsoft-com:asm.v1" befinden. Untergeordnete Elemente der Assembly müssen sich ebenfalls in diesem Namespace befinden, durch Vererbung oder durch Tagging.
Das Assemblyelement verfügt über das folgende Attribut.
attribute Beschreibung manifestVersion Das manifestVersion-Attribut muss auf 1.0 festgelegt werden. -
noInheritable
-
Schließen Sie dieses Element in ein Assemblymanifest ein, um anzugeben, dass die Assembly die Aktivierungskontexte und ihre Objekte verwaltet. Das noInheritable-Element muss ein Unterelement eines Assemblyelements sein. Das assemblyIdentity-Element sollte nach jedem noInheritable-Element enthalten sein. Das noInheritable-Element ist im Assemblymanifest erforderlich, wenn die Assembly von Anwendungsmanifesten verwendet wird, die das noInherit-Element enthalten. Ein noInheritable-Element in einem Anwendungsmanifest hat keine Auswirkungen. Ein noInheritable-Element verfügt über keine untergeordneten Elemente.
-
Assemblyidentity
-
Beschreibt eine nebeneinander seitige Assembly und identifiziert sie eindeutig.
Als erstes Unterelement eines Assemblyelements beschreibt assemblyIdentity die seiteseitige Assembly, die dieses Assemblymanifest besitzt, und identifiziert sie eindeutig. Dies wird als DEF-Kontext-AssemblyIdentity des Assemblymanifests bezeichnet.
Als erstes Unterelement eines dependentAssembly-Elements beschreibt und identifiziert assemblyIdentity eine seiteseitige Assembly, die von der DEF-KontextassemblyIdentity verwendet wird, und identifiziert sie eindeutig. Dies wird als REF-Kontext-AssemblyIdentity des Assemblymanifests bezeichnet. Die DEF-Kontext-Assembly erfordert, dass die REF-Kontext-Assembly ordnungsgemäß funktioniert. Beachten Sie, dass jede REF-Kontext-AssemblyIdentity genau mit einer entsprechenden DEF-Kontext-assemblyIdentity im assembly-Manifest der Assembly übereinstimmen muss, auf die verwiesen wird.
Dieses Element verfügt über keine Unterelemente. Das assemblyIdentity-Element verfügt über die folgenden Attribute.
attribute BESCHREIBUNG type Gibt den Assemblytyp an. Der Wert muss win32 und in Klein klein sein. Erforderlich. name Benennt die Assembly eindeutig. Verwenden Sie das folgende Format für den Assemblynamen: Organization.Division.Name. Beispiel: Microsoft. Windows.mysampleAsm. Erforderlich. Beachten Sie, dass im Fall einer DLL, die als private Assembly mit einer separaten Manifestdatei gepackt ist, der Name der Assembly sich vom Namen der DLL und des Manifests unterscheiden muss. language Identifiziert die Sprache der Assembly. Optional. Wenn die Assembly sprachspezifisch ist, geben Sie den DHTML-Sprachcode an. In der DEF-Kontext-AssemblyIdentity eines Assemblymanifests, das für die weltweite Verwendung (sprachneutral) vorgesehen ist, lässt das Sprachattribut weg.
Legen Sie in einer REF-Kontext-AssemblyIdentity eines Assemblymanifests, das für die weltweite Verwendung vorgesehen ist (sprachneutral), den Wert der Sprache auf " * " fest.Processorarchitecture Gibt den Prozessor an. Die gültigen Werte sind x86 für 32-Bit-Windows und ia64 für 64-Bit-Windows. Optional. version Gibt die Assemblyversion an. Verwenden Sie das vierteilige Versionsformat mmmmm.nnnnn.ooooo.ooooo.oopp. Jeder durch Punkte getrennte Teil kann 0 bis 65535 einschließlich sein. Weitere Informationen finden Sie unter Assemblyversionen. Erforderlich. Publickeytoken Eine hexadezimale Zeichenfolge mit 16 Zeichen, die die letzten 8 Bytes des SHA-1-Hashs des öffentlichen Schlüssels darstellt, unter dem die Assembly signiert ist. Der öffentliche Schlüssel, der zum Signieren des Katalogs verwendet wird, muss mindestens 2.048 Bit groß sein. Erforderlich für freigegebene, nebeneinander seitige Assemblys. -
Abhängigkeit
-
Ein Containerelement, das mindestens eine dependentAssembly enthält. Das erste Unterelement muss ein dependentAssembly-Element sein. Eine Abhängigkeit weist keine Attribute auf. Optional.
-
Dependentassembly
-
Das erste Unterelement muss ein assemblyIdentity-Element sein, das eine side-by-side-Assembly beschreibt und eindeutig identifiziert, die von der side-by-side-Assembly verwendet wird, die dieses Assemblymanifest besitzt. Jede dependentAssembly muss sich innerhalb genau einer Abhängigkeit befinden. Optional.
-
Datei
-
Enthält Dateien, die von einer nebeneinander verwendeten Assembly verwendet werden. Enthält comClass-, typelib-, windowClass-, comInterfaceProxyStub-Unterelemente. Optional.
Das Dateielement weist die folgenden Attribute auf.
attribute Beschreibung name Name der Datei, z. B. Conctl32.dll. Hashalg Algorithmus, der zum Erstellen eines Hashs der Datei verwendet wird. Dieser Wert sollte SHA1 sein. hash Ein Hash der Datei, auf die anhand des Namens verwiesen wird. Eine hexadezimale Zeichenfolge der Länge, die vom Hashalgorithmus abhängt. -
comClass
-
Ein Unterelement eines Dateielements. Optional.
Das comClass-Element verfügt über die folgenden Attribute.
attribute Beschreibung description Klassenname. Clsid Die GUID, die die Klasse eindeutig identifiziert. Erforderlich. Der Wert muss das Format einer gültigen GUID aufweisen. threadingModel Das threadingmodell, das von prozessübergreifenden COM-Klassen verwendet wird. Wenn diese Eigenschaft NULL ist, wird kein Threadingmodell verwendet. Die Komponente wird im Hauptthread des Clients erstellt, und Aufrufe von anderen Threads werden an diesen Thread gemarshallt. Optional. Gültige Werte sind: "Apartment", "Free", "Both" und "Neutral". tlbid GUID für die Typbibliothek für diese COM-Komponente. Der Wert muss das Format einer GUID aufweisen. Optional. Progid Versionsabhängige programmgesteuerter Bezeichner, der der COM-Komponente zugeordnet ist. Das Format einer ProgID ist <Hersteller>.<Komponente>.<Version>. miscStatus Dupliziert im Assemblymanifest die Informationen, die vom MiscStatus-Registrierungsschlüssel bereitgestellt werden. Wenn werte für die MiscStatusIcon-, miscStatusContent-, miscStatusDocprint- oder miscStatusThumbnail-Attribute nicht gefunden werden, wird der entsprechende Standardwert, der in miscStatus aufgeführt ist, für die fehlenden Attribute verwendet. Der Wert kann eine durch Kommas getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn die COM-Klasse eine OCX-Klasse ist, die Miscstatus-Registrierungsschlüsselwerte erfordert. miscStatusIcon Duplikate in der Assembly manifestieren die vom DVASPECT-SYMBOL bereitgestellten _ Informationen. Sie kann ein Symbol eines Objekts bereitstellen. Der Wert kann eine durch Kommas getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn die COM-Klasse eine OCX-Klasse ist, die Miscstatus-Registrierungsschlüsselwerte erfordert. miscStatusContent Duplikate in der Assembly manifestieren die von DVASPECT CONTENT bereitgestellten _ Informationen. Es kann ein zusammengesetztes Dokument bereitstellen, das für einen Bildschirm oder Drucker angezeigt werden kann. Der Wert kann eine durch Kommas getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn die COM-Klasse eine OCX-Klasse ist, die Miscstatus-Registrierungsschlüsselwerte erfordert. miscStatusDocprint Duplikate in der Assembly manifestieren die von DVASPECT DOCPRINT bereitgestellten _ Informationen. Sie kann eine Objektdarstellung bereitstellen, die auf dem Bildschirm angezeigt werden kann, als ob sie auf einem Drucker ausgegeben würde. Der Wert kann eine durch Kommas getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn die COM-Klasse eine OCX-Klasse ist, die Miscstatus-Registrierungsschlüsselwerte erfordert. miscStatusThumbnail Duplikate in einer Assembly manifestieren die von DVASPECT THUMBNAIL bereitgestellten _ Informationen. Sie kann eine Miniaturansicht eines Objekts bereitstellen, das in einem Browsertool angezeigt werden kann. Der Wert kann eine durch Kommas getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn die COM-Klasse eine OCX-Klasse ist, die Miscstatus-Registrierungsschlüsselwerte erfordert. Das comClass-Element kann < über progid > ...-Elemente als untergeordnete Elemente verfügen, die die versionsabhängigen Progids auflisten.
Das folgende Beispiel zeigt ein comClass-Element, das in einem Dateielement enthalten ist.
<file name="sampleu.dll"> <comClass description="Font Property Page" clsid="{0BE35200-8F91-11CE-9DE3-00AA004BB851}" threadingModel = "Both" tlbid = "{44EC0535-400F-11D0-9DCD-00A0C90391D3}"/> <comClass description="Color Property Page" clsid="{0BE35201-8F91-11CE-9DE3-00AA004BB851}" progid="ABC.Registrar"/> </file>Wenn ihre COM-Klasse eine OCX-Klasse ist, die den MiscStatus-Registrierungsunterschlüssel erfordert, um anzugeben, wie ein Objekt erstellt und angezeigt werden soll, können Sie das Objekt aktivieren, indem Sie diese Informationen im Assemblymanifest duplizieren. Geben Sie die Merkmale des Objekts an, indem Sie die Attribute miscStatus, miscStatusIcon, miscStatusContent, miscStatusDocprint und miscStatusThumbnail des comClass-Elements verwenden. Legen Sie diese Attribute auf eine durch Trennzeichen getrennte Liste von Attributwerten aus der folgenden Tabelle fest. Diese Attribute duplizieren die Informationen, die von einer DVASPECT-Enumeration bereitgestellt werden. Wenn für miscStatusIcon, miscStatusContent, miscStatusDocprint oder miscStatusThumbnail kein Wert gefunden wird, werden die in miscStatus angegebenen Standardwerte verwendet. Verwenden Sie Attributwerte aus der folgenden Tabelle. Diese entsprechen den Bitflags einer OLEMISC-Enumeration.
Attributwert OLEMISC-Konstante recomposeonresize OLEMISC _ RECOMPOSEONRESIZE onlyiconic OLEMISC _ ONLYICONIC insertnotreplace OLEMISC _ INSERTNOTREPLACE static OLEMISC _ STATIC cantlinkinside OLEMISC _ CANTLINKINSIDE canlinkbyole1 OLEMISC _ CANLINKBYOLE1 islinkobject OLEMISC _ ISLINKOBJECT insideout OLEMISC _ INSIDEOUT activatewhenvisible OLEMISC _ ACTIVATEWHENVISIBLE renderingisdeviceindependent OLEMISC _ RENDERINGISDEVICEINDEPENDENT invisibleatruntime OLEMISC _ INVISIBLEATRUNTIME alwaysrun OLEMISC _ ALWAYSRUN actslikebutton OLEMISC _ ACTSLIKEBUTTON actslikelabel OLEMISC _ ACTSLIKELABEL nouiactivate OLEMISC _ NOUIACTIVATE Justierbar OLEMISC _ ALIGNABLE simpleframe OLEMISC _ SIMPLEFRAME setclientsitefirst OLEMISC _ SETCLIENTSITEFIRST Imemode TOLEMISC _ IMEMODE ignoreativatewhenvisible OLEMISC _ IGNOREACTIVATEWHENVISIBLE wantstomenumerge OLEMISC _ WANTSTOMENUMERGE supportsmultilevelundo OLEMISC _ SUPPORTSMULTILEVELUNDO -
Typelib
-
Ein Unterelement eines Dateielements. Optional.
Das typelib-Element verfügt über die in der folgenden Tabelle gezeigten Attribute.
attribute Beschreibung tlbid Die eindeutige ID der Typbibliothek. Erforderlich. version Die zweiteile Versionsnummer der Typbibliothek. Wenn nur die Nebenversionsnummer zunimmt, werden alle Features der vorherigen Typbibliothek auf kompatible Weise unterstützt. Wenn sich die Hauptversionsnummer ändert, muss Code, der für die Typbibliothek kompiliert wurde, neu kompiliert werden. Die Versionsnummer der Typbibliothek kann sich von der Versionsnummer der Anwendung unterscheiden. Erforderlich. helpdir Das Verzeichnis, in dem sich die Hilfedatei für die Typen in der Typbibliothek befindet. Wenn die Anwendung Typbibliotheken für mehrere Sprachen unterstützt, verweisen die Bibliotheken möglicherweise auf verschiedene Dateinamen im Hilfedateiverzeichnis. Wenn kein Wert angegeben wird, geben Sie "" an. Erforderlich. Resourceid Die hexadezimale Zeichenfolgendarstellung des Locale Identifier (LCID). Es handelt sich um eine bis vier Hexadezimalziffern ohne 0x-Präfix und ohne führende Nullen. Die LCID kann einen neutralen Untersprache-Bezeichner haben. Weitere Informationen finden Sie unter Locale Identifiers. Optional. flags Die Zeichenfolgendarstellung der Typbibliotheksflags für diese Typbibliothek. Dies sollte insbesondere "RESTRICTED", "CONTROL", "HIDDEN" und "HASDISKIMAGE" sein. Dies sind die Werte der LIBFLAGS-Enumeration und die gleichen Flags, die im uLibFlags-Parameter der ICreateTypeLib::SetLibFlags-Methode angegeben sind. Optional. Das folgende Beispiel zeigt ein typelib-Element, das in einem Dateielement enthalten ist.
<file name="sampleu.dll"> <typelib tlbid="{44EC0535-400F-11D0-9DCD-00A0C90391D3}" version="1.0" helpdir=""/> </file> -
comInterfaceExternalProxyStub
-
ComInterfaceExternalProxyStub ist ein Unterelement eines Assemblyelements und wird für Automatisierungsschnittstellen verwendet. Beispielsweise IDispatch und die abgeleiteten Schnittstellen. Optional.
Die standardmäßige Proxystubimplementierung ist für die meisten Automatisierungsschnittstellen geeignet, z. B. Schnittstellen, die von IDispatch abgeleitet wurden. Der Schnittstellenproxystub und alle anderen externen Proxystub-Schnittstellenimplementierungen müssen im comInterfaceExternalProxyStub aufgeführt werden. Das comInterfaceExternalProxyStub-Element enthält die in der folgenden Tabelle gezeigten Attribute.
attribute Beschreibung Iid Die IID der Schnittstelle, für die der Proxy deklariert wird. Erforderlich. Der Wert sollte das formular "{iid}" haben. baseInterface Die IID der Schnittstelle, von der die durch das iid-Attribut beschriebene schnittstelle abgeleitet wird. Dieses Attribut ist optional. Der Wert sollte das formular "{iid}" haben. numMethods Die Anzahl der methoden, die von der -Schnittstelle implementiert werden. Dieses Attribut ist optional. Der Wert sollte im folgenden Formular sein: "n". name Der Name der Schnittstelle, wie er im Code angezeigt wird. Beispiel: "IViewObject". Dies sollte keine beschreibende Zeichenfolge sein. Dieses Attribut ist optional. Der Wert sollte das formular "name" haben. tlbid Die Typbibliothek, die die Beschreibung der durch das iid-Attribut angegebenen Schnittstelle enthält. Dieses Attribut ist optional. Der Wert sollte in der Form "{tlbid}" sein. proxyStubClsid32 Karten einer IID zu einer CLSID in 32-Bit-Proxy-DLLs. Das folgende Beispiel zeigt ein comInterfaceExternalProxyStub-Element.
<comInterfaceExternalProxyStub name="IAxWinAmbientDispatch" iid="{B6EA2051-048A-11D1-82B9-00C04FB9942E}" numMethods="35" baseInterface="{00000000-0000-0000-C000-000000000046}"/> -
comInterfaceProxyStub
-
Ein Unterelement eines Dateielements. Optional.
Wenn eine Datei in der Assembly einen Proxystub implementiert, muss das entsprechende Dateitag ein comInterfaceProxyStub-Unterelement mit Attributen enthalten, die mit einem comInterfaceProxyStub-Element identisch sind. Das Marshallen von Schnittstellen zwischen Prozessen und Threads funktioniert möglicherweise nicht wie erwartet, wenn Sie einige der comInterfaceProxyStub-Abhängigkeiten für Ihre Komponente weglassen.
Das comInterfaceProxyStub-Element verfügt über die folgenden Attribute.
attribute Beschreibung Iid Das. IID der Schnittstelle, für die der Proxy deklariert wird. Erforderlich. Der Wert sollte folgendes Format aufweisen: "{iid}". name Name der Schnittstelle, wie er im Code angezeigt wird. Beispiel: "IViewObject". Dies sollte keine beschreibende Zeichenfolge sein. Dieses Attribut ist optional. Der Wert sollte folgendes Format aufweisen: "name". tlbid Die Typbibliothek, die die Beschreibung der vom iid-Attribut angegebenen Schnittstelle enthält. Dieses Attribut ist optional. Der Wert sollte folgendes Format aufweisen: "{tlbid}". baseInterface Die IID der Schnittstelle, von der das durch das iid-Attribut beschriebene abgeleitet wird. Dieses Attribut ist optional. Der Wert sollte folgendes Format aufweisen: "{iid}". numMethods Die Anzahl der von der -Schnittstelle implementierten Methoden. Dieses Attribut ist optional. Der Wert sollte folgendes Format aufweisen: "n". proxyStubClsid32 Karten eine IID zu einer CLSID in 32-Bit-Proxy-DLLs. threadingModel Das threadingmodell, das von prozessübergreifenden COM-Klassen verwendet wird. Wenn diese Eigenschaft NULL ist, wird kein Threadingmodell verwendet. Die Komponente wird im Hauptthread des Clients erstellt, und Aufrufe von anderen Threads werden an diesen Thread gemarshallt. Optional. Gültige Werte sind: "Apartment", "Free", "Both" und "Neutral". -
Windowclass
-
Der Name einer Windows-Klasse, die versioniert werden soll. Das windowclass-Element weist das folgende Attribut auf.
attribute Beschreibung Versionierte Dieses Attribut steuert, ob der in der Registrierung verwendete interne Fensterklassenname die Version der Assembly enthält, die die Fensterklasse enthält. Der Wert dieses Attributs kann "yes" oder "no" sein. Der Standardwert ist "yes". Der Wert "no" sollte nur verwendet werden, wenn dieselbe Fensterklasse von einer parallelen Komponente und einer entsprechenden nicht parallelen Komponente definiert wird und Sie sie als dieselbe Fensterklasse behandeln möchten. Beachten Sie, dass die üblichen Regeln für die Fensterklassenregistrierung nur die erste Komponente anwenden, die die Fensterklasse registriert, die sie registrieren kann, da sie nicht versioniert ist. Das folgende Beispiel zeigt ein windowclass-Element, das in einem Dateielement enthalten ist.
<file name="comctl32.dll"> <windowClass versioned="no">ToolbarWindow32</windowClass> </file>
Hinweis
Aufgrund der Art und Weise, wie bei der seiteseitigen Suche nach privaten Assemblys die folgenden Benennungseinschränkungen gelten, wenn eine DLL als private Assembly verpackt wird. Eine empfohlene Methode besteht in der Verwendung des Assemblymanifests in der DLL als Ressource. In diesem Fall muss die Ressourcen-ID gleich 1 sein, und der Name der privaten Assembly kann mit dem Namen der DLL identisch sein. Wenn der Name der DLL beispielsweise Microsoft.Windows.mysample.dll ist, kann der Wert des namensattributs, das im assemblyIdentity-Element des Manifests verwendet wird, auch Microsoft sein. Windows.mysample. Eine alternative Möglichkeit besteht im Speichern des Assemblymanifests in einer separaten Datei. In diesem Fall müssen sich der Name der Assembly und ihres Manifests vom Namen der DLL unterscheiden. Beispiel: Microsoft. Windows.mysampleAsm, Microsoft. Windows.mysampleAsm.manifest, und Microsoft.Windows.Mysample.dll. Weitere Informationen dazu, wie eine seiteseitige Suche nach privaten Assemblys durchgeführt wird, finden Sie unter Assemblysuchsequenz.
Elemente
Bei Namen von Elementen und Attributen wird die Kleinschreibung beachtet. Bei den Werten von Elementen und Attributen wird die Groß-/Kleinschreibung nicht beachtet, mit Ausnahme des Werts des Typattributs.
Beispiel
Im Folgenden wird ein Beispiel für ein Assemblymanifest beschrieben.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity type="win32" name="Microsoft.Tools.SampleAssembly" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="0000000000000000"/>
<file name="sampleu.dll" hash="3eab067f82504bf271ed38112a4ccdf46094eb5a" hashalg="SHA1">
<comClass description="Font Property Page" clsid="{0BE35200-8F91-11CE-9DE3-00AA004BB851}"/>
<comClass description="Color Property Page" clsid="{0BE35201-8F91-11CE-9DE3-00AA004BB851}"/>
<comClass description="Picture Property Page" clsid="{0BE35202-8F91-11CE-9DE3-00AA004BB851}"/>
</file>
<file name="bar.dll" hash="ac72753e5bb20446d88a48c8f0aaae769a962338" hashalg="SHA1"/>
<file name="foo.dll" hash="a7312a1f6cfb46433001e0540458de60adcd5ec5" hashalg="SHA1">
<comClass description="Registrar Class" clsid="{44EC053A-400F-11D0-9DCD-00A0C90391D3}" progid="ATL.Registrar"/>
<comInterfaceProxyStub iid="{B6EA2051-048A-11D1-82B9-00C04FB9942E}" name=" IAxWinAmbientDispatch " tlbid="{34EC053A-400F-11D0-9DCD-00A0C90391D3}"/>
<typelib tlbid="{44EC0535-400F-11D0-9DCD-00A0C90391D3}" version="1.0" helpdir=""/>
</file>
<file name="sampledll.dll" hash="ba62960ceb15073d2598379307aad84f3a73dfcb" hashalg="SHA1"/>
<windowClass>ToolbarWindow32</windowClass>
<windowClass>ComboBoxEx32</windowClass>
<windowClass>sample_trackbar32</windowClass>
<windowClass>sample_updown32</windowClass>
</assembly>