Freigeben über


Assemblymanifeste

Ein Assemblymanifest ist eine XML-Datei, die eine parallele Assembly beschreibt. Assemblymanifeste beschreiben die Namen und Versionen von parallelen Assemblys, Dateien und Ressourcen der Assembly sowie die Abhängigkeit der Assembly auf anderen nebeneinander angeordneten Assemblys. Die korrekte Installation, Aktivierung und Ausführung von parallelen Assemblys erfordert, dass das Assemblymanifest immer eine Assembly auf dem System begleitet.

Eine vollständige Auflistung des XML-Schemas finden Sie unter Manifestdateischema.

Assemblymanifeste weisen die folgenden Elemente und Attribute auf.

Element Attribute Erforderlich
Assembly- Ja
manifestVersion- Ja
noInheritable Nein
assemblyIdentity- Ja
Typ Ja
Namen Ja
Sprache Nein
processorArchitecture Nein
Version Ja
publicKeyToken- Nein
Abhängigkeits- Nein
abhängige Nein
Datei- Nein
Namen Ja
hashalg Nein
Hash- Nein
comClass- Nein
Beschreibung Nein
clsid- Ja
ThreadingModel- Nein
tlbid Nein
Nein
miscStatus- Nein
miscStatusIcon Nein
miscStatusContent- Nein
miscStatusDocPrint- Nein
miscStatusThumbnail Nein
typelib- Nein
tlbid Ja
Version Ja
helpdir- Ja
resourceid- Nein
Kennzeichnungen Nein
comInterfaceExternalProxyStub Nein
iid Ja
baseInterface- Nein
numMethods- Nein
Namen Nein
tlbid Nein
proxyStubClsid32- Nein
comInterfaceProxyStub Nein
iid Ja
Namen Ja
tlbid Nein
baseInterface- Nein
numMethods- Nein
proxyStubClsid32- Nein
ThreadingModel- Nein
windowClass- Nein
versionsierte Nein

Dateispeicherort

Assemblymanifeste können an drei Speicherorten installiert werden:

  • Als Manifeste, die freigegebenen Assemblysbegleiten, sollten Assemblymanifeste als separate Datei im parallelen Assemblycache installiert werden. Dies ist in der Regel der Ordner "WinSxS" im Windows-Verzeichnis.
  • Als Manifeste, die privaten Assemblysbegleiten, 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 steht die Assembly für die private Verwendung der DLL zur Verfügung. Ein Assemblymanifest kann nicht als Ressource in einer EXE-Datei eingeschlossen werden. Eine EXE-Datei kann ein Anwendungsmanifest als Ressource enthalten.

Syntax des Dateinamens

Der Name eines Assemblymanifests ist ein beliebiger gültiger Dateiname gefolgt von .manifest.

Ein Assemblymanifest, das sich auf "myassembly" bezieht, würde beispielsweise die folgende Dateinamensyntax verwenden: myassembly.<resource ID>.manifest. Sie können das feld <resource ID> weglassen, wenn das Assemblymanifest als separate Datei installiert wird oder die Ressourcen-ID 1 ist.

Anmerkung

Aufgrund der Parallelsuche nach privaten Assemblys gelten die folgenden Benennungseinschränkungen beim Verpacken einer DLL als private Assembly. Eine empfohlene Vorgehensweise besteht darin, das Assemblymanifest als Ressource in die DLL einzufügen. 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 beispielsweise der Name der DLL Microsoft.Windows.mysample.dllist, kann der Wert des im assemblyIdentity- Elements des Manifests verwendeten Namensattributes auch "Microsoft.Windows.mysample" sein. Eine alternative Möglichkeit besteht darin, das Assemblymanifest in einer separaten Datei zu platzieren. In diesem Fall muss sich der Name der Assembly und des Manifests von dem Namen der DLL unterscheiden. Beispiel: Microsoft.Windows.mysampleAsm, Microsoft.Windows.mysampleAsm.manifest und Microsoft.Windows.Mysample.dll. Weitere Informationen zur Parallelsuche nach privaten Assemblys finden Sie unter Assembly Searching Sequence.

Elemente

Bei Namen von Elementen und Attributen wird die Groß-/Kleinschreibung beachtet. Die Werte von Elementen und Attributen werden ohne Groß-/Kleinschreibung unterschieden, mit Ausnahme des Werts des Typattributes.

Assembly-

Ein Containerelement. Das erste Unterelement muss ein assemblyIdentity- oder noInheritable-Element sein. Das Assemblymanifest beschreibt eindeutig die von der assemblyIdentityidentifizierte parallele Assembly. Erforderlich.

Das Assemblyelement muss sich im Namespace "urn:schemas-microsoft-com:asm.v1" befinden. Untergeordnete Elemente der Assembly müssen sich auch in diesem Namespace befinden, durch Vererbung oder durch Tagging.

Das Assembly--Element weist das folgende Attribut auf.

Attribut Beschreibung
manifestVersion- Das attribut manifestVersion muss auf 1.0 festgelegt werden.

noInheritable

Fügen Sie dieses Element in ein Assemblymanifest ein, um anzugeben, dass die Assembly die Aktivierungskontexte und deren Objekte verwaltet. Das noInheritable-Element muss ein Unterelement eines Assembly--Elements sein. Das assemblyIdentity--Element sollte nach einem beliebigen noInheritable-Element erfolgen. 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 Auswirkung. Ein noInheritable-Element verfügt über keine untergeordneten Elemente.

assemblyIdentity-

Beschreibt und identifiziert eine parallele Assembly eindeutig.

Als erstes Unterelement einer Assembly Element beschreibt assemblyIdentity die parallele Assembly, die dieses Assemblymanifest besitzt, und identifiziert sie eindeutig. Dies wird als DEF-Kontext assemblyIdentity- des Assemblymanifests bezeichnet.

Als erstes Unterelement eines dependentAssembly-Element beschreibt assemblyIdentity beschreibt und identifiziert eine parallele Assembly, die vom DEF-Kontext assemblyIdentity-verwendet wird. Dies wird als REF-Kontext assemblyIdentity- des Assemblymanifests bezeichnet. Die DEF-Kontextassembly erfordert, dass die REF-Kontextassembly ordnungsgemäß funktioniert. Beachten Sie, dass jeder REF-Kontext assemblyIdentity- exakt mit einem entsprechenden DEF-Kontext assemblyIdentity- im eigenen Assemblymanifest der referenzierten Assembly übereinstimmen muss.

Dieses Element hat keine Unterelemente. Das assemblyIdentity--Element hat die folgenden Attribute.

Attribut Beschreibung
Typ Gibt den Assemblytyp an. Der Wert muss win32 und in Kleinbuchstaben sein. Erforderlich.
Namen Benennt die Assembly eindeutig. Verwenden Sie das folgende Format für den Assemblynamen: Organization.Division.Name. Beispiel: Microsoft.Windows.mysampleAsm. Erforderlich. Beachten Sie, dass bei einer DLL, die als private Assembly mit einer separaten Manifestdatei verpackt ist, der Name der Assembly anders sein muss als der Name der DLL und des Manifests.
Sprache Identifiziert die Sprache der Assembly. Wahlfrei. Wenn die Assembly sprachspezifisch ist, geben Sie den DHTML-Sprachcode an. Im DEF-Kontext assemblyIdentity eines Assemblymanifests, das für die weltweite Verwendung (sprachneutral) vorgesehen ist, wird das Sprachattribute weggelassen.
In einem REF-Kontext assemblyIdentity eines Assemblymanifests, das für die weltweite Verwendung vorgesehen ist (sprachneutral), legen sie 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. Wahlfrei.
Version Gibt die Assemblyversion an. Verwenden Sie das vierteilige Versionsformat: mmmmm.nnnnn.ooooo.ppppp. Jeder durch Punkte getrennte Teil kann 0-65535 einschließlich sein. Weitere Informationen finden Sie unter Assemblyversionen. Erforderlich.
publicKeyToken- Eine 16-stellige hexadezimale Zeichenfolge, die die letzten 8 Byte 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 2048 Bit sein. Erforderlich für gemeinsam genutzte Parallelassemblys.

Abhängigkeits-

Ein Containerelement mit mindestens einem abhängigen. Das erste Unterelement muss ein abhängiges-Element sein. Eine Abhängigkeit hat keine Attribute. Wahlfrei.

abhängige

Das erste Unterelement muss ein assemblyIdentity--Element sein, das eine parallele Assembly beschreibt und eindeutig identifiziert, die von der parallelen Assembly verwendet wird, die dieses Assemblymanifest besitzt. Jede abhängige muss sich innerhalb genau einer Abhängigkeitbefinden. Wahlfrei.

Datei-

Enthält Dateien, die von einer parallelen Assembly verwendet werden. Enthält comClass, typelib, windowClass, comInterfaceProxyStub Unterelemente. Wahlfrei.

Die Datei Element weist die folgenden Attribute auf.

Attribut Beschreibung
Namen 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 nach Namen verwiesen wird. Eine hexadezimale Längenzeichenfolge abhängig vom Hashalgorithmus.

comClass-

Ein Unterelement einer Datei Element. Wahlfrei.

Das comClass-Element weist die folgenden Attribute auf.

Attribut Beschreibung
Beschreibung Klassenname.
clsid- Die GUID, die die Klasse eindeutig identifiziert. Erforderlich. Der Wert muss im Format einer gültigen GUID vorliegen.
ThreadingModel- Das threadingmodell, das von in prozessinternen 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 gemarstet. Wahlfrei. Gültige Werte sind: "Apartment", "Free", "Both" und "Neutral".
tlbid GUID für die Typbibliothek für diese COM-Komponente. Der Wert muss im Format einer GUID vorliegen. Wahlfrei.
Versionsabhängiger programmgesteuerter Bezeichner, der der COM-Komponente zugeordnet ist. Das Format einer ProgID ist <Anbieter>.<Komponente>.<Version>.
miscStatus- Duplikate im Assemblymanifest die Informationen, die vom MiscStatus-Registrierungsschlüssel bereitgestellt werden. Wenn Werte für das miscStatusIcon, miscStatusContent, miscStatusDocprintoder miscStatusThumbnail Attribute nicht gefunden werden, wird der entsprechende Standardwert in miscStatus- für die fehlenden Attribute verwendet. Der Wert kann eine durch Trennzeichen getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn es sich bei der COM-Klasse um eine OCX-Klasse handelt, für die Registrierungsschlüsselwerte von Miscstatus erforderlich sind.
miscStatusIcon Duplikate im Assemblymanifest, die von DVASPECT_ICON bereitgestellten Informationen. Es kann ein Symbol eines Objekts bereitstellen. Der Wert kann eine durch Trennzeichen getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn es sich bei der COM-Klasse um eine OCX-Klasse handelt, für die Registrierungsschlüsselwerte von Miscstatus erforderlich sind.
miscStatusContent- Duplikate im Assemblymanifest, 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 Trennzeichen getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn es sich bei der COM-Klasse um eine OCX-Klasse handelt, für die Registrierungsschlüsselwerte von Miscstatus erforderlich sind.
miscStatusDocprint- Duplikate im Assemblymanifest, die von DVASPECT_DOCPRINT bereitgestellten Informationen. Sie kann eine Objektdarstellung bereitstellen, die auf dem Bildschirm angezeigt werden kann, als ob sie auf einem Drucker gedruckt wird. Der Wert kann eine durch Trennzeichen getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn es sich bei der COM-Klasse um eine OCX-Klasse handelt, für die Registrierungsschlüsselwerte von Miscstatus erforderlich sind.
miscStatusThumbnail Dupliziert in einem Assemblymanifest die informationen, die von DVASPECT_THUMBNAIL bereitgestellt werden. Es kann eine Miniaturansicht eines Objekts bereitstellen, das in einem Browsertool angezeigt werden kann. Der Wert kann eine durch Trennzeichen getrennte Liste der Attributwerte aus der folgenden Tabelle sein. Sie können dieses Attribut verwenden, wenn es sich bei der COM-Klasse um eine OCX-Klasse handelt, für die Registrierungsschlüsselwerte von Miscstatus erforderlich sind.

Das comClass-Element kann <progid>... Elemente als untergeordnete Elemente enthalten, die die versionsabhängigen Progids auflisten.

Das folgende Beispiel zeigt ein comClass- Element, das in einer Datei Element 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 Es sich bei der COM-Klasse um eine OCX-Klasse handelt, für die der Unterschlüssel "MiscStatus" erforderlich ist, 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 mithilfe der miscStatus, miscStatusIcon, miscStatusContent, miscStatusDocprintund miscStatusThumbnail Attribute des comClass Element an. 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-Aufzählung bereitgestellt werden. Wenn für miscStatusIcon, miscStatusContent, miscStatusDocprintoder miscStatusThumbnailein kein Wert gefunden wird, werden die in miscStatus- angegebenen Standardwerte verwendet. Verwenden Sie Attributwerte aus der folgenden Tabelle. Diese entsprechen den Bit-Flags einer OLEMISC- Enumeration.

Attributwert OLEMISC-Konstante
neu komposeonresize OLEMISC_RECOMPOSEONRESIZE
onlyiconic OLEMISC_ONLYICONIC
insertnotreplace OLEMISC_INSERTNOTREPLACE
statisch OLEMISC_STATIC
cantlinkinside OLEMISC_CANTLINKINSIDE
canlinkbyole1 OLEMISC_CANLINKBYOLE1
islinkobject OLEMISC_ISLINKOBJECT
innenout OLEMISC_INSIDEOUT
activatewhenvisible OLEMISC_ACTIVATEWHENVISIBLE
renderingisdeviceindependent OLEMISC_RENDERINGISDEVICEINDEPENDENT
invisibleatruntime OLEMISC_INVISIBLEATRUNTIME
alwaysrun OLEMISC_ALWAYSRUN
actslikebutton OLEMISC_ACTSLIKEBUTTON
actslikelabel OLEMISC_ACTSLIKELABEL
nouiactivate OLEMISC_NOUIACTIVATE
ausrichtend OLEMISC_ALIGNABLE
simpleframe OLEMISC_SIMPLEFRAME
setclientsitefirst OLEMISC_SETCLIENTSITEFIRST
Imemode TOLEMISC_IMEMODE
ignoreativatewhenvisible OLEMISC_IGNOREACTIVATEWHENVISIBLE
wantstomenumerge OLEMISC_WANTSTOMENUMERGE
supportsmultilevelundo OLEMISC_SUPPORTSMULTILEVELUNDO

typelib-

Ein Unterelement einer Datei Element. Wahlfrei.

Das typelib-Elements weist die in der folgenden Tabelle gezeigten Attribute auf.

Attribut Beschreibung
tlbid Die eindeutige ID der Typbibliothek. Erforderlich.
Version Die zweiteilige 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 anhand der 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 vorhanden ist, geben Sie "" an. Erforderlich.
resourceid- Die hexadezimale Zeichenfolgendarstellung des Gebietsschemabezeichners (LCID). Es handelt sich um eine bis vier hexadezimale Ziffern ohne Präfix 0x und keine führenden Nullen. Die LCID kann einen neutralen Unterlanguagebezeichner aufweisen. Weitere Informationen finden Sie unter Gebietsschemabezeichner. Wahlfrei.
Kennzeichnungen Die Zeichenfolgendarstellung der Typbibliothekskennzeichnungen für diese Typbibliothek. Insbesondere sollte es eine von "RESTRICTED", "CONTROL", "HIDDEN" und "HASDISKIMAGE" sein. Dies sind die Werte der LIBFLAGS--Aufzählung und sind die gleichen Flags, die im uLibFlags Parameter der ICreateTypeLib::SetLibFlags Methode angegeben sind. Wahlfrei.

Das folgende Beispiel zeigt ein typelib- Element, das in einer Datei Element enthalten ist.

<file name="sampleu.dll">
       <typelib tlbid="{44EC0535-400F-11D0-9DCD-00A0C90391D3}"
       version="1.0" helpdir=""/>
</file>

comInterfaceExternalProxyStub

Die comInterfaceExternalProxyStub ist ein Unterelement eines Assembly--Elements und wird für Automatisierungsschnittstellen verwendet. Beispielsweise IDispatch- und die abgeleiteten Schnittstellen. Wahlfrei.

Die Standardmäßige Proxy-Stubimplementierung eignet sich für die meisten Automatisierungsschnittstellen, z. B. Schnittstellen, die von IDispatch-abgeleitet werden. Der Schnittstellenproxy-Stub und alle anderen Implementierungen der externen Proxy-Stub-Schnittstelle müssen im comInterfaceExternalProxyStub-aufgeführt werden. Das comInterfaceExternalProxyStub-Element weist die in der folgenden Tabelle gezeigten Attribute auf.

Attribut Beschreibung
iid Die IID der Schnittstelle, für die der Proxy deklariert wird. Erforderlich. Der Wert sollte in der Form "{iid}" liegen.
baseInterface- Die IID der Schnittstelle, von der die vom iid Attribut beschriebene schnittstelle abgeleitet wird. Dieses Attribut ist optional. Der Wert sollte in der Form "{iid}" liegen.
numMethods- Die Anzahl der von der Schnittstelle implementierten Methoden. Dieses Attribut ist optional. Der Wert sollte in der Form "n" angegeben sein.
Namen Name der Schnittstelle, wie sie im Code angezeigt wird. Beispiel: "IViewObject". Dies sollte keine beschreibende Zeichenfolge sein. Dieses Attribut ist optional. Der Wert sollte in der Form "name" angegeben sein.
tlbid Die Typbibliothek, die die Beschreibung der Schnittstelle enthält, die durch das attribut iid angegeben ist. Dieses Attribut ist optional. Der Wert sollte in der Form sein: "{tlbid}" .
proxyStubClsid32 Ordnet eine IID einer CLSID in 32-Bit-Proxy-DLLs zu.

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 einer Datei Element. Wahlfrei.

Wenn eine Datei in der Assembly einen Proxy-Stub implementiert, muss das entsprechende Dateitag ein comInterfaceProxyStub Unterelement mit Attributen enthalten, die mit einem comInterfaceProxyStub--Element identisch sind. Marshaling-Schnittstellen zwischen Prozessen und Threads funktionieren möglicherweise nicht wie erwartet, wenn Sie einige der comInterfaceProxyStub Abhängigkeiten für Ihre Komponente weglassen.

Das comInterfaceProxyStub-Element weist die folgenden Attribute auf.

Attribut Beschreibung
iid Das. IID der Schnittstelle, für die der Proxy deklariert wird. Erforderlich. Der Wert sollte in der Form "{iid}" liegen.
Namen Name der Schnittstelle, wie sie im Code angezeigt wird. Beispiel: "IViewObject". Dies sollte keine beschreibende Zeichenfolge sein. Dieses Attribut ist optional. Der Wert sollte in der Form "name" angegeben sein.
tlbid Die Typbibliothek, die die Beschreibung der Schnittstelle enthält, die durch das attribut iid angegeben ist. Dieses Attribut ist optional. Der Wert sollte in der Form sein: "{tlbid}".
baseInterface- Die IID der Schnittstelle, von der die vom iid Attribut beschriebene schnittstelle abgeleitet wird. Dieses Attribut ist optional. Der Wert sollte in der Form "{iid}" liegen.
numMethods- Die Anzahl der von der Schnittstelle implementierten Methoden. Dieses Attribut ist optional. Der Wert sollte in der Form "n" angegeben sein.
proxyStubClsid32- Ordnet eine IID einer CLSID in 32-Bit-Proxy-DLLs zu.
ThreadingModel- Das threadingmodell, das von in prozessinternen 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 gemarstet. Wahlfrei. 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.

Attribut Beschreibung
versionsierte 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 "ja" oder "nein" sein. Der Standardwert ist "Ja". Der Wert "no" sollte nur verwendet werden, wenn die gleiche Fensterklasse durch eine parallele Komponente und eine entsprechende nicht-parallele Komponente definiert wird und Sie sie als dieselbe Fensterklasse behandeln möchten. Beachten Sie, dass die üblichen Regeln für die Registrierung von Fensterklassen nur für die erste Komponente gelten, die die Fensterklasse registriert, sie registrieren kann, da sie nicht versionsgeschützt ist.

Das folgende Beispiel zeigt ein windowclass- Element, das in einer Datei Element enthalten ist.

<file name="comctl32.dll">
        <windowClass versioned="no">ToolbarWindow32</windowClass>
</file>

Beispiel

Im Folgenden sehen Sie ein Beispiel für ein Assemblymanifest.

<?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>