Regasm.exe (Assembly Registration-Tool)Regasm.exe (Assembly Registration Tool)

Die Metadaten in einer Assembly werden vom Assembly Registration-Tool gelesen, und die erforderlichen Einträge werden der Registrierung hinzugefügt. COM-Clients sind so in der Lage, .NET Framework-Klassen transparent zu erstellen.The Assembly Registration tool reads the metadata within an assembly and adds the necessary entries to the registry, which allows COM clients to create .NET Framework classes transparently. Sobald eine Klasse registriert ist, kann diese von jedem COM-Client wie eine COM-Klasse verwendet werden.Once a class is registered, any COM client can use it as though the class were a COM class. Die Klasse wird beim Installieren der Assembly nur einmal registriert.The class is registered only once, when the assembly is installed. COM kann keine Instanzen von Klassen in der Assembly erstellen, bevor diese nicht registriert wurden.Instances of classes within the assembly cannot be created from COM until they are actually registered.

Verwenden Sie zum Ausführen des Tools die Developer-Eingabeaufforderung für Visual Studio.To run the tool, use the Developer Command Prompt for Visual Studio. Weitere Informationen finden Sie unter Eingabeaufforderungen.For more information, see Command Prompts.

Geben Sie an der Eingabeaufforderung Folgendes ein:At the command prompt, type the following:

SyntaxSyntax

regasm assemblyFile [options]

ParameterParameters

ParameterParameter BESCHREIBUNGDescription
assemblyFileassemblyFile Die in COM zu registrierende Assembly.The assembly to be registered with COM.
OptionOption BESCHREIBUNGDescription
/codebase/codebase Es wird ein Codebase-Eintrag in der Registrierung erstellt.Creates a Codebase entry in the registry. Mit dem Codebase-Eintrag wird der Dateipfad für eine Assembly festgelegt, die nicht im globalen Assemblycache installiert ist.The Codebase entry specifies the file path for an assembly that is not installed in the global assembly cache. Die Option sollte nicht angegeben werden, wenn Sie die zu registrierende Assembly später im globalen Assemblycache installieren.You should not specify this option if you will subsequently install the assembly that you are registering into the global assembly cache. Bei dem mit der /codebase-Option festgelegten assemblyFile-Argument muss es sich um eine Assembly mit starkem Namen handeln.The assemblyFile argument that you specify with the /codebase option must be a strong-named assembly.
/registered/registered Mit dieser Option wird angegeben, dass dieses Tool nur auf bereits registrierte Typbibliotheken verweist.Specifies that this tool will only refer to type libraries that have already been registered.
/asmpath:directory/asmpath:directory Mit dieser Option wird ein Verzeichnis angegeben, in dem Assemblyverweise enthalten sind.Specifies a directory containing assembly references. Muss mit der Option /regfile verwendet werdenMust be used with the /regfile option.
/nologo/nologo Unterdrückt die Anzeige des Startbanners von Microsoft.Suppresses the Microsoft startup banner display.
/regfile [ : regFile]/regfile [: regFile] Mit dieser Option wird die angegebene REG-Datei mit den erforderlichen Registrierungseinträgen für die Assembly generiert.Generates the specified .reg file for the assembly, which contains the needed registry entries. Bei Angabe dieser Option wird die Registrierung nicht geändert.Specifying this option does not change the registry. Sie können diese Option nicht zusammen mit der Option /u oder der Option /tlb verwenden.You cannot use this option with the /u or /tlb options.
/silent oder /s/silent or /s Unterdrückt die Anzeige von Erfolgsmeldungen.Suppresses the display of success messages.
/tlb [ : typeLibFile]/tlb [: typeLibFile] Mit dieser Option wird eine Typbibliothek aus der angegebenen Assembly generiert, die Definitionen der in der Assembly definierten verfügbaren Typen enthält.Generates a type library from the specified assembly containing definitions of the accessible types defined within the assembly.
/unregister oder /u/unregister or /u Diese Option hebt die Registrierung der in assemblyFile gefundenen erstellbaren Klassen auf.Unregisters the creatable classes found in assemblyFile. Wenn Sie diese Option nicht angeben, registriert "Regasm.exe" die erstellbaren Klassen in der Assembly.Omitting this option causes Regasm.exe to register the creatable classes in the assembly.
/verbose/verbose Mit dieser Option wird der ausführliche Modus angegeben. 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.Specifies verbose mode; displays a list of any referenced assemblies for which a type library needs to be generated, when specified with the /tlb option.
/?/? oder /helpor /help Zeigt Befehlssyntax und Optionen für das Tool an.Displays command syntax and options for the tool.

Hinweis

Bei den Befehlszeilenoptionen für "Regasm.exe" wird die Groß- und Kleinschreibung nicht beachtet.The Regasm.exe command-line options are case insensitive. Geben Sie die Option einfach so weit an, dass eine eindeutige Identifizierung möglich ist.You only need to provide enough of the option to uniquely identify it. Z.B.: /n entspricht /nologo und /t: outfile.tlb entspricht /tlb: outfile.tlb.For example, /n is equivalent to /nologo and /t: outfile.tlb is equivalent to /tlb: outfile.tlb.

AnmerkungenRemarks

Mit der Option /regfile können Sie eine REG-Datei mit den Registrierungseinträgen generieren, anstatt die Änderungen direkt in der Registrierung vorzunehmen.You can use the /regfile option to generate a .reg file that contains the registry entries instead of making the changes directly to the registry. Sie können die Registrierung auf einem Computer aktualisieren, indem Sie die REG-Datei mit dem Registrierungs-Editor (Regedit.exe) importieren.You can update the registry on a computer by importing the .reg file with the Registry Editor tool (Regedit.exe). Beachten Sie, dass die REG-Datei keine Aktualisierungen der Registrierung enthält, die durch benutzerdefinierte Registrierungsfunktionen vorgenommen werden können.Note that the .reg file does not contain any registry updates that can be made by user-defined register functions. Beachten Sie außerdem, dass die Option /regfile nur Registrierungseinträge für verwaltete Klassen ausgibt.Note that the /regfile option only emits registry entries for managed classes. Diese Option gibt keine Einträge für TypeLibIDs oder InterfaceIDs aus.This option does not emit entries for TypeLibIDs or InterfaceIDs.

Bei Angabe der Option /tlb wird von „regasm.exe“ eine Typbibliothek generiert und registriert, mit der die in der Assembly gefundenen Typen beschrieben werden.When you specify the /tlb option, Regasm.exe generates and registers a type library describing the types found in the assembly. Die generierten Typbibliotheken werden von "Regasm.exe" im aktuellen Arbeitsverzeichnis oder in dem für die Ausgabedatei angegebenen Verzeichnis platziert.Regasm.exe places the generated type libraries in the current working directory or the directory specified for the output file. Beim Generieren einer Typbibliothek für eine Assembly, in der auf andere Assemblys verwiesen wird, werden ggf. mehrere Typbibliotheken gleichzeitig generiert.Generating a type library for an assembly that references other assemblies may cause several type libraries to be generated at once. Sie können die Typbibliothek zum Bereitstellen von Typinformationen für Entwicklungstools wie Visual Studio verwenden.You can use the type library to provide type information to development tools like Visual Studio. Die Option /tlb sollte nicht verwendet werden, wenn die zu registrierende Assembly mit dem Type Library Importer-Tool (tlbimp.exe) erstellt wurde.You should not use the /tlb option if the assembly you are registering was produced by the Type Library Importer (Tlbimp.exe). Sie können keine Typbibliothek aus einer Assembly exportieren, die von einer Typbibliothek importiert wurde.You cannot export a type library from an assembly that was imported from a type library. Das Verwenden der Option /tlb entspricht der Verwendung des Type Library Exporter-Tools (tlbexp.exe) und von „regasm.exe“, wobei „tlbexp.exe“ die erstellte Typbibliothek allerdings nicht registriert.Using the /tlb option has the same effect as using the Type Library Exporter (Tlbexp.exe) and Regasm.exe, with the exception that Tlbexp.exe does not register the type library it produces. Wenn Sie die Option /tlb zum Registrieren einer Typbibliothek verwenden, können Sie die Optionen /tlb und /unregister zusammen nutzen, um die Registrierung der Typbibliothek aufzuheben.If you use the /tlb option to registered a type library, you can use /tlb option with the /unregister option to unregistered the type library. Durch die gemeinsame Verwendung der beiden Optionen wird die Registrierung der Typbibliothek und der Schnittstelleneinträge aufgehoben, wodurch die Registrierung in beachtlichem Umfang bereinigt werden kann.Using the two options together will unregister the type library and interface entries, which can clean the registry considerably.

Wenn Sie eine Assembly für die Verwendung mit COM registrieren, werden der Registrierung des lokalen Computers von "Regasm.exe" Einträge hinzugefügt.When you register an assembly for use by COM, Regasm.exe adds entries to the registry on the local computer. Genauer gesagt werden versionsabhängige Registrierungsschlüssel erstellt, mit denen die parallele Ausführung mehrerer Versionen derselben Assembly auf einem Computer ermöglicht wird.More specifically, it creates version-dependent registry keys that allow multiple versions of the same assembly to run side by side on a computer. Bei der erstmaligen Registrierung einer Assembly werden ein Schlüssel auf oberster Ebene für die Assembly und ein eindeutiger Unterschlüssel für die spezielle Version erstellt.The first time an assembly is registered, one top-level key is created for the assembly and a unique subkey is created for the specific version. Bei jeder Registrierung einer neuen Assemblyversion wird von "Regasm.exe" für die neue Version ein Unterschlüssel erstellt.Each time you register a new version of the assembly, Regasm.exe creates a subkey for the new 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.For example, consider a scenario where you register the managed component, myComp.dll, version 1.0.0.0 for use by COM. Anschließend wird "myComp.dll, Version 2.0.0.0" registriert.Later, you register myComp.dll, version 2.0.0.0. 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.You determine that all COM client applications on the computer are using myComp.dll version 2.0.0.0 and you decide to unregister myComponent.dll version 1.0.0.0. Dieses Registrierungsschema ermöglicht Ihnen die Aufhebung der Registrierung von „myComp.dll, Version 1.0.0.0“, da nur der Unterschlüssel für Version 1.0.0.0 entfernt wird.This registry scheme allows you to unregister myComp.dll version 1.0.0.0 because only the version 1.0.0.0 subkey is removed.

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.After registering an assembly using Regasm.exe, you can install it in the global assembly cache so that it can be activated from any COM client. Wenn die Assembly nur von einer einzelnen Anwendung aktiviert wird, können Sie diese im Verzeichnis der Anwendung platzieren.If the assembly is only going to be activated by a single application, you can place it in that application's directory.

BeispieleExamples

Mit dem folgenden Befehl werden alle in myTest.dll enthaltenen öffentlichen Klassen registriert.The following command registers all public classes contained in myTest.dll.

regasm myTest.dll

Mit dem folgenden Befehl wird die Datei myTest.reg generiert, in der alle erforderlichen Registrierungseinträge enthalten sind.The following command generates the file myTest.reg, which contains all the necessary registry entries. Bei diesem Befehl wird die Registrierung nicht aktualisiert.This command does not update the registry.

regasm myTest.dll /regfile:myTest.reg

Mit dem folgenden Befehl werden alle in myTest.dll enthaltenen öffentlichen Klassen registriert. Außerdem wird die Typbibliothek myTest.tlb, in der die Definitionen aller in myTest.dll definierten öffentlichen Typen enthalten sind, generiert und registriert.The following command registers all public classes contained in myTest.dll, and generates and registers the type library myTest.tlb, which contains definitions of all the public types defined in myTest.dll.

regasm myTest.dll /tlb:myTest.tlb

Siehe auchSee also