Regasm.exe (средство регистрации сборок)Regasm.exe (Assembly Registration Tool)

Средство регистрации сборки считывает метаданные сборки и добавляет в реестр необходимые записи, что позволяет COM-клиентам прозрачно создавать классы .NET Framework.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. Зарегистрированные классы могут использоваться любыми COM-клиентами так же, как COM-классы.Once a class is registered, any COM client can use it as though the class were a COM class. Класс регистрируется только один раз, при установке сборки.The class is registered only once, when the assembly is installed. Экземпляры классов внутри сборки не могут создаваться на основе COM-классов до их фактической регистрации.Instances of classes within the assembly cannot be created from COM until they are actually registered.

Чтобы применить этот инструмент, воспользуйтесь командной строкой разработчика (или командной строкой Visual Studio в Windows 7).To run the tool, use the Developer Command Prompt (or the Visual Studio Command Prompt in Windows 7). Дополнительные сведения см. в разделе Командные строки.For more information, see Command Prompts.

В командной строке введите следующее.At the command prompt, type the following:

СинтаксисSyntax

regasm assemblyFile [options]  

ПараметрыParameters

ПараметрParameter Описание:Description
assemblyFileassemblyFile Сборка, которая должна быть зарегистрирована в COM.The assembly to be registered with COM.
ПараметрOption Описание:Description
/codebase/codebase Создает в реестре запись Codebase.Creates a Codebase entry in the registry. Запись Codebase указывает путь к файлу сборки, которая не установлена в глобальном кэше сборок.The Codebase entry specifies the file path for an assembly that is not installed in the global assembly cache. Не следует указывать этот параметр, если впоследствии вы будете устанавливать регистрируемую сборку в глобальном кэше сборок.You should not specify this option if you will subsequently install the assembly that you are registering into the global assembly cache. Аргумент assemblyFile, задаваемый с помощью параметра /codebase, должен быть сборкой со строгим именем.The assemblyFile argument that you specify with the /codebase option must be a strong-named assembly.
/registered/registered Указывает, что это средство будет ссылаться только на библиотеки типов, которые уже были зарегистрированы.Specifies that this tool will only refer to type libraries that have already been registered.
/asmpath:directory/asmpath:directory Задает каталог, содержащий ссылки на сборки.Specifies a directory containing assembly references. Этот параметр необходимо указывать вместе с параметром /regfile.Must be used with the /regfile option.
/nologo/nologo Отключает отображение эмблемы Майкрософт при запуске.Suppresses the Microsoft startup banner display.
/regfile [: regFile]/regfile [: regFile] Создает для сборки REG-файл, содержащий необходимые записи реестра.Generates the specified .reg file for the assembly, which contains the needed registry entries. Указание этого параметра не приводит к внесению изменений в реестр.Specifying this option does not change the registry. Вы не можете использовать этот параметр с параметрами /u и /tlb.You cannot use this option with the /u or /tlb options.
/silent или /s/silent or /s Запрещает отображение сообщений об успешно выполненных операциях.Suppresses the display of success messages.
/tlb [: typeLibFile]/tlb [: typeLibFile] Создает библиотеку типов из указанной сборки, содержащую определения доступных типов, описанных в сборке.Generates a type library from the specified assembly containing definitions of the accessible types defined within the assembly.
/unregister или /u/unregister or /u Отменяет регистрацию создаваемых классов, содержащихся в assemblyFile.Unregisters the creatable classes found in assemblyFile. Если этот параметр не указан, средство Regasm.exe регистрирует создаваемые классы в сборке.Omitting this option causes Regasm.exe to register the creatable classes in the assembly.
/verbose/verbose Включает режим подробного протоколирования. Если указан параметр /tlb, на экран выводится список всех сборок, на которые ссылается эта сборка, и для которых требуется создать библиотеку типов.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.
/?/? или /helpor /help Отображает синтаксис команд и параметров программы.Displays command syntax and options for the tool.

Примечание

В параметрах командной строки средства Regasm.exe прописные и строчные буквы не различаются.The Regasm.exe command-line options are case insensitive. Достаточно указать начало параметра, позволяющее однозначно его определить.You only need to provide enough of the option to uniquely identify it. Например, /n эквивалентно /nologo, а /t: outfile.tlb эквивалентно /tlb: outfile.tlb.For example, /n is equivalent to /nologo and /t: outfile.tlb is equivalent to /tlb: outfile.tlb.

ПримечанияRemarks

Можно не вносить изменения непосредственно в реестр, а создать REG-файл с записями реестра при помощи параметра /regfile.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. Чтобы внести изменения в реестр компьютера, импортируйте REG-файл в реестр с помощью редактора реестра (средства Regedit.exe).You can update the registry on a computer by importing the .reg file with the Registry Editor tool (Regedit.exe). Обратите внимание, что REG-файл не содержит обновлений реестра, которые могут выполняться пользовательскими функциями реестра.Note that the .reg file does not contain any registry updates that can be made by user-defined register functions. Также заметьте, что параметр /regfile порождает записи реестра только для управляемых классов.Note that the /regfile option only emits registry entries for managed classes. Он не создает записи для объектов TypeLibID и InterfaceID.This option does not emit entries for TypeLibIDs or InterfaceIDs.

Если задан параметр /tlb, средство Regasm.exe создает и регистрирует библиотеку типов, описывающую типы, которые содержатся в сборке.When you specify the /tlb option, Regasm.exe generates and registers a type library describing the types found in the assembly. Regasm.exe помещает созданные библиотеки типов в текущий рабочий каталог или в каталог выходных файлов.Regasm.exe places the generated type libraries in the current working directory or the directory specified for the output file. Если сборка ссылается на другие сборки, то при создании библиотеки ее типов, возможно, будет создано сразу несколько библиотек типов.Generating a type library for an assembly that references other assemblies may cause several type libraries to be generated at once. Библиотека типов позволяет предоставлять сведения о типах средствам разработки, таким как Visual Studio 2005Visual Studio 2005.You can use the type library to provide type information to development tools like Visual Studio 2005Visual Studio 2005. Не используйте параметр /tlb, если регистрируемая сборка была создана программой импорта библиотек типов (Tlbimp.exe).You should not use the /tlb option if the assembly you are registering was produced by the Type Library Importer (Tlbimp.exe). Невозможно экспортировать библиотеку типов из сборки, которая была импортирована из библиотеки типов.You cannot export a type library from an assembly that was imported from a type library. Параметр /tlb дает тот же результат, что и программа экспорта библиотек типов (Tlbexp.exe) и Regasm.exe, за исключением того, что Tlbexp.exe не регистрирует создаваемые библиотеки типов.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. Если библиотека типов зарегистрирована с помощью параметра /tlb, для отмены регистрации можно использовать параметр /tlb с параметром /unregister.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. При указании обоих параметров будет отменена регистрация библиотеки типов и записей интерфейса, что может существенно очистить реестр.Using the two options together will unregister the type library and interface entries, which can clean the registry considerably.

При регистрации сборки для использования в COM средство Regasm.exe добавляет записи в реестр локального компьютера.When you register an assembly for use by COM, Regasm.exe adds entries to the registry on the local computer. Точнее, в этом случае создаются зависящие от версии разделы реестра, которые позволяют запускать на одном компьютере несколько версий одной сборки одновременно.More specifically, it creates version-dependent registry keys that allow multiple versions of the same assembly to run side by side on a computer. Когда сборка регистрируется в первый раз, создается один раздел верхнего уровня для сборки и уникальный подраздел для конкретной версии.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. При регистрации каждой новой версии сборки Regasm.exe создает подраздел для этой новой версии.Each time you register a new version of the assembly, Regasm.exe creates a subkey for the new version.

Например, предположим, что вы регистрируете управляемый компонент myComp.dll версии 1.0.0.0 для использования в COM.For example, consider a scenario where you register the managed component, myComp.dll, version 1.0.0.0 for use by COM. Позже вы регистрируете myComp.dll версии 2.0.0.0.Later, you register myComp.dll, version 2.0.0.0. Вы определяете, что все клиентские приложения COM на компьютере используют myComp.dll версии 2.0.0.0 и решаете отменить регистрацию myComponent.dll версии 1.0.0.0.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. Эта схема реестра позволяет отменить регистрацию myComp.dll версии 1.0.0.0, поскольку удаляется только подраздел версии 1.0.0.0.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.

Зарегистрировав сборку с помощью средства Regasm.exe, можно установить ее в глобальном кэше сборок, тогда ее сможет активировать любой COM-клиент.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. Если сборку будет активировать только одно приложение, ее можно поместить в каталог этого приложения.If the assembly is only going to be activated by a single application, you can place it in that application's directory.

ПримерыExamples

Следующая команда регистрирует все открытые классы, содержащиеся в библиотеке myTest.dll.The following command registers all public classes contained in myTest.dll.

regasm myTest.dll  

Следующая команда создает файл myTest.reg, который содержит все необходимые записи реестра.The following command generates the file myTest.reg, which contains all the necessary registry entries. Эта команда не обновляет реестр.This command does not update the registry.

regasm myTest.dll /regfile:myTest.reg  

Следующая команда регистрирует все открытые классы, содержащиеся в myTest.dll, а также создает и регистрирует библиотеку типов myTest.tlb, в которой содержатся определения всех открытых типов, описанных в myTest.dll.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  

См. такжеSee Also

ИнструментыTools
Tlbexp.exe (программа экспорта библиотек типов)Tlbexp.exe (Type Library Exporter)
Tlbimp.exe (программа экспорта библиотек типов)Tlbimp.exe (Type Library Importer)
Регистрация сборок в COMRegistering Assemblies with COM
Командные строкиCommand Prompts