Regasm.exe (Assembly Registration-Tool)
Aktualisiert: April 2011
Das Assembly Registration-Tool liest die Metadaten in einer Assembly und fügt die erforderlichen Einträge der Registrierung hinzu. COM-Clients sind so in der Lage, transparent .NET Framework-Klassen zu erstellen. Sobald eine Klasse registriert ist, kann diese von jedem COM-Client wie eine COM-Klasse verwendet werden. Die Klasse wird nur einmal beim Installieren der Assembly registriert. COM kann keine Instanzen von Klassen in der Assembly erstellen, bevor diese nicht registriert wurden.
Dieses Tool wird automatisch mit Visual Studio und mit dem Windows SDK installiert. Um das Tool auszuführen, empfiehlt es sich, dass Sie die Visual Studio-Eingabeaufforderung oder Windows SDK-Eingabeaufforderung (CMD-Shell) verwenden. Mit diesen Hilfsprogrammen können Sie das Tool problemlos ausführen, ohne in den Installationsordner zu navigieren. Weitere Informationen finden Sie unter Visual Studio- und Windows SDK-Eingabeaufforderungen.
Wenn Visual Studio auf dem Computer installiert ist: Klicken Sie auf der Taskleiste auf Start, All Programs, Visual Studio und Visual Studio Tools, und klicken Sie dann auf Visual Studio Command Prompt.
– oder –
Wenn das Windows SDK auf Ihrem Computer installiert ist: Klicken Sie auf der Taskleiste auf Start, All Programs, klicken Sie auf den Ordner für das Windows SDK, und klicken anschließend auf Command Prompt (oder CMD Shell).
Geben Sie an der Eingabeaufforderung Folgendes ein:
regasm assemblyFile [options]
Parameter
Parameter |
Beschreibungen |
---|---|
assemblyFile |
Die in COM zu registrierende Assembly. |
Option |
Beschreibungen |
---|---|
/codebase |
Erstellt einen CodeBase-Eintrag in der Registrierung. Durch den CodeBase-Eintrag wird der Dateipfad für eine Assembly festgelegt, die nicht im globalen Assemblycache installiert ist. Die Option sollte nicht angegeben werden, wenn Sie die zu registrierende Assembly nachfolgend im globalen Assemblycache installieren. Bei dem mit der /codebase-Option festgelegten assemblyFile-Argument muss es sich um eine Assembly mit starkem Namen handeln. |
/registered |
Gibt an, dass dieses Tool nur auf Typbibliotheken verweist, die bereits registriert wurden. |
/asmpath:directory |
Gibt ein Verzeichnis an, das Assemblyverweise enthält. Muss mit der Option /regfile verwendet werden. |
/nologo |
Unterdrückt die Anzeige des Startbanners von Microsoft. |
/regfile [:regFile] |
Generiert die angegebene REG-Datei mit den erforderlichen Registrierungseinträgen für die Assembly. Bei Angabe dieser Option wird die Registrierung nicht geändert. Sie können diese Option nicht zusammen mit der Option /u oder der Option /tlb verwenden. |
/silent oder /s |
Unterdrückt die Anzeige von Erfolgsmeldungen. |
/tlb [:typeLibFile] |
Generiert eine Typbibliothek aus der angegebenen Assembly, die Definitionen der in der Assembly definierten verfügbaren Typen enthält. |
/unregister oder /u |
Hebt die Registrierung der in assemblyFile gefundenen erstellbaren Klassen auf. Wenn Sie diese Option nicht angeben, registriert Regasm.exe die erstellbaren Klassen aus der Assembly. |
/verbose |
Gibt den ausführlichen Modus an. Es wird eine Liste aller Assemblys angezeigt, auf die verwiesen wird und für die eine Typbibliothek generiert werden muss, wenn zusätzlich die Option /tlb angegeben wurde. |
/? oder /help |
Zeigt Befehlssyntax und Optionen für das Tool an. |
Hinweis |
---|
Bei den Befehlszeilenoptionen für Regasm.exe wird die Groß- und Kleinschreibung nicht beachtet.Geben Sie einfach die gewünschte Option oder das entsprechende Kürzel an, um diese eindeutig zu kennzeichnen.Beispiel: /n entspricht /nologo und /t:outfile.tlb entspricht /tlb:outfile.tlb. |
Hinweise
Sie können mit der Option /regfile eine REG-Datei mit den Registrierungseinträgen generieren, anstatt die Änderungen direkt in der Registrierung vorzunehmen. Sie können die Registrierung auf einem Computer aktualisieren, indem Sie die REG-Datei mit dem Registrierungs-Editor (Regedit.exe) importieren. Beachten Sie, dass die REG-Datei keine Aktualisierungen der Registrierung enthält, die durch benutzerdefinierte Registrierungsfunktionen vorgenommen werden können. Beachten Sie, dass die Option /regfile nur Registrierungseinträge für verwaltete Klassen ausgibt. Diese Option gibt keine Einträge für TypeLibIDs oder InterfaceIDs aus.
Wenn Sie die Option /tlb angeben, generiert und registriert Regasm.exe eine Typbibliothek, die die in der Assembly gefundenen Typen beschreibt. Regasm.exe platziert die generierten Typbibliotheken im aktuellen Arbeitsverzeichnis oder dem für die Ausgabedatei angegebenen Verzeichnis. Beim Generieren einer Typbibliothek für eine Assembly, in der auf andere Assemblys verwiesen wird, werden ggf. mehrere Typbibliotheken gleichzeitig generiert. Sie können die Typbibliothek verwenden, um Typinformationen für Entwicklungstools wie Visual Studio 2005 bereitzustellen. Die Option /tlb sollte nicht verwendet werden, falls die zu registrierende Assembly mit dem Type Library Importer-Tool (Tlbimp.exe) erstellt wurde. Sie können keine Typbibliothek aus einer Assembly exportieren, die aus einer Typbibliothek importiert wurde. Das Verwenden der Option /tlb entspricht dem Verwenden des Type Library Exporter-Tools (Tlbexp.exe) und von Regasm.exe, wobei Tlbexp.exe die erstellte Typbibliothek jedoch nicht registriert. Wenn Sie die Option /tlb zum Registrieren einer Typbibliothek verwenden, können Sie die Option /tlb zusammen mit der Option /unregister verwenden, um die Registrierung der Typbibliothek aufzuheben. Durch die gemeinsame Verwendung der beiden Optionen wird die Registrierung von Typbibliothek und Schnittstelleneinträgen aufgehoben, wodurch die Registrierung in beachtlichem Umfang bereinigt werden kann.
Wenn Sie eine Assembly für die Verwendung mit COM registrieren, fügt Regasm.exe der Registrierung des lokalen Computers Einträge hinzu. Genauer gesagt, es werden versionsabhängige Registrierungsschlüssel erstellt, die die parallele Ausführung mehrerer Versionen derselben Assembly auf einem Computer zulassen. Bei der erstmaligen Registrierung einer Assembly wird ein Schlüssel auf oberster Ebene für die Assembly und ein eindeutiger Unterschlüssel für die spezielle Version erstellt. Bei jedem Registrieren einer neuen Version der Assembly erstellt Regasm.exe einen Unterschlüssel für die neue Version.
Als Beispiel dient ein Szenario, in dem Sie die verwaltete Komponente myComp.dll, Version 1.0.0.0, für die Verwendung mit COM registrieren. Anschließend wird myComp.dll, Version 2.0.0.0, registriert. Sie bestimmen, dass alle COM-Clientanwendungen auf dem verwendeten Computer myComp.dll, Version 2.0.0.0, verwenden. Außerdem heben Sie die Registrierung von myComp.dll, Version 1.0.0.0, auf. Dieses Registrierungsschema ermöglicht Ihnen die Aufhebung der Registrierung von myComp.dll, Version 1.0.0.0, da nur der Unterschlüssel für die Version 1.0.0.0 entfernt wird.
Nach dem Registrieren einer Assembly mit Regasm.exe können Sie diese im globalen Assemblycache installieren, sodass diese von jedem COM-Client aktiviert werden kann. Wenn die Assembly nur von einer einzelnen Anwendung aktiviert wird, können Sie diese im Verzeichnis der Anwendung platzieren.
Beispiele
Der folgende Befehl registriert alle in myTest.dll enthaltenen öffentlichen Klassen.
regasm myTest.dll
Der folgende Befehl generiert die Datei myTest.reg, die alle erforderlichen Registrierungseinträge enthält. Bei diesem Befehl wird die Registrierung nicht aktualisiert.
regasm myTest.dll /regfile:myTest.reg
Der folgende Befehl registriert alle in myTest.dll enthaltenen öffentlichen Klassen und generiert und registriert die Typbibliothek myTest.tlb, die Definitionen aller in myTest.dll definierten öffentlichen Typen enthält.
regasm myTest.dll /tlb:myTest.tlb
Siehe auch
Referenz
Tlbexp.exe (Type Library Exporter-Tool)
Tlbimp.exe (Type Library Importer-Tool)
Visual Studio- und Windows SDK-Eingabeaufforderungen
Konzepte
Registrieren von Assemblys mit COM
Weitere Ressourcen
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
April 2011 |
Hinzugefügte Informationen zur Verwendung der Visual Studio- und Windows SDK-Eingabeaufforderungen. |
Informationsergänzung. |